1 00:00:00,000 --> 00:00:02,610 >> [Hội thảo] [đá Đằng sau các thiết bị: Ứng dụng Mobile Security] 2 00:00:02,610 --> 00:00:04,380 [Chris Wysopal] [Đại học Harvard] 3 00:00:04,380 --> 00:00:07,830 [Đây là CS50.] [CS50.TV] 4 00:00:07,830 --> 00:00:10,360 >> Xin chào. Tên tôi là Chris Wysopal. 5 00:00:10,360 --> 00:00:13,360 Tôi là Giám đốc công nghệ và đồng sáng lập của Veracode. 6 00:00:13,360 --> 00:00:15,880 Veracode là một công ty bảo mật ứng dụng. 7 00:00:15,880 --> 00:00:18,230 Chúng tôi kiểm tra tất cả các loại ứng dụng khác nhau, 8 00:00:18,230 --> 00:00:25,060 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à. 9 00:00:25,060 --> 00:00:28,630 Nền của tôi là tôi đã làm nghiên cứu bảo mật 10 00:00:28,630 --> 00:00:31,970 trong một thời gian rất dài, có thể là miễn là bất cứ ai. 11 00:00:31,970 --> 00:00:35,000 Tôi bắt đầu vào giữa thập niên 90, 12 00:00:35,000 --> 00:00:37,370 và đó là một thời gian khá thú vị bởi vì 13 00:00:37,370 --> 00:00:39,220 chúng tôi đã có một sự thay đổi mô hình trong giữa thập niên 90. 14 00:00:39,220 --> 00:00:43,520 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, 15 00:00:43,520 --> 00:00:46,550 và sau đó chúng tôi đã có sự khởi đầu của các ứng dụng web, 16 00:00:46,550 --> 00:00:49,330 và đó là những gì tôi tập trung vào rất nhiều sau đó. 17 00:00:49,330 --> 00:00:51,160 Thật thú vị. 18 00:00:51,160 --> 00:00:53,930 Bây giờ chúng ta có một sự thay đổi mô hình xảy ra với máy tính, 19 00:00:53,930 --> 00:00:58,710 đó là sự thay đổi các ứng dụng di động. 20 00:00:58,710 --> 00:01:03,680 >> 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 21 00:01:03,680 --> 00:01:07,650 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ư 22 00:01:07,650 --> 00:01:11,800 lỗi quản lý phiên và SQL injection 23 00:01:11,800 --> 00:01:14,940 mà thực sự không tồn tại trước, và đột nhiên họ ở khắp mọi nơi 24 00:01:14,940 --> 00:01:19,360 trong các ứng dụng web, và bây giờ rất nhiều thời gian tôi dành 25 00:01:19,360 --> 00:01:27,950 đ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. 26 00:01:27,950 --> 00:01:32,060 Ứng dụng di động đang thực sự sẽ là nền tảng điện toán chi phối, 27 00:01:32,060 --> 00:01:35,060 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 28 00:01:35,060 --> 00:01:39,280 tập trung vào các ứng dụng web. 29 00:01:39,280 --> 00:01:43,420 Có 29 tỷ ứng dụng di động được tải về trong năm 2011. 30 00:01:43,420 --> 00:01:47,920 Nó dự đoán là 76 tỷ ứng dụng vào năm 2014. 31 00:01:47,920 --> 00:01:54,040 Có 686.000.000 thiết bị sẽ được mua trong năm nay, 32 00:01:54,040 --> 00:01:57,060 vì vậy đây là nơi mọi người sẽ được làm 33 00:01:57,060 --> 00:01:59,600  phần lớn các máy tính khách hàng của họ đi về phía trước. 34 00:01:59,600 --> 00:02:04,220 >> Tôi đang nói chuyện với phó chủ tịch Fidelity Investments 35 00:02:04,220 --> 00:02:08,780 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 36 00:02:08,780 --> 00:02:12,610 làm giao dịch tài chính từ cơ sở khách hàng của họ 37 00:02:12,610 --> 00:02:16,230 trên ứng dụng di động của họ hơn trên trang web của họ, 38 00:02:16,230 --> 00:02:20,610 do đó, một sử dụng phổ biến cho các trang web trong quá khứ đã được 39 00:02:20,610 --> 00:02:23,800 kiểm tra giá cổ phiếu của bạn, quản lý danh mục đầu tư của bạn, 40 00:02:23,800 --> 00:02:28,060 và chúng tôi đang thực sự thấy rằng trong năm 2012 chuyển đổi hơn 41 00:02:28,060 --> 00:02:30,960 được ưu thế hơn trên nền tảng di động. 42 00:02:30,960 --> 00:02:34,530 Chắc chắn nếu có sẽ là bất kỳ hoạt động tội phạm, 43 00:02:34,530 --> 00:02:38,900 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 44 00:02:38,900 --> 00:02:44,210 theo thời gian khi mọi người chuyển sang đó. 45 00:02:44,210 --> 00:02:48,320 Nếu bạn nhìn vào các nền tảng di động, 46 00:02:48,320 --> 00:02:54,380 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, 47 00:02:54,380 --> 00:02:59,010 giống như bạn sẽ làm điều đó trên một máy tính để bàn, 48 00:02:59,010 --> 00:03:02,860 và bạn nghĩ về các lớp khác nhau, phần mềm, hệ điều hành, 49 00:03:02,860 --> 00:03:07,730 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. 50 00:03:07,730 --> 00:03:10,510 >> Điều tương tự cũng xảy ra trên điện thoại di động. 51 00:03:10,510 --> 00:03:14,880 Nhưng điện thoại di động, có vẻ như là một số trong những lớp đều thiệt. 52 00:03:14,880 --> 00:03:19,840 Đối với một, lớp mạng là có vấn đề về điện thoại di động 53 00:03:19,840 --> 00:03:25,650 bởi vì rất nhiều người có trong văn phòng của họ hoặc ở nhà 54 00:03:25,650 --> 00:03:30,780 dây kết nối hoặc họ có kết nối Wi-Fi an toàn, 55 00:03:30,780 --> 00:03:36,530 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à 56 00:03:36,530 --> 00:03:40,520 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ó 57 00:03:40,520 --> 00:03:42,820 bạn có thể sử dụng kết nối Wi-Fi không an toàn, 58 00:03:42,820 --> 00:03:45,570 cái gì đó là một kết nối Wi-Fi công cộng, 59 00:03:45,570 --> 00:03:48,840 do đó, khi chúng ta nghĩ về ứng dụng di động, chúng ta phải đưa vào tài khoản 60 00:03:48,840 --> 00:03:53,770 mà trên môi trường mạng là rủi ro hơn cho những ứng dụng 61 00:03:53,770 --> 00:03:57,640 khi Wi-Fi đang được sử dụng. 62 00:03:57,640 --> 00:04:02,410 Và khi tôi nhận được vào chi tiết của những rủi ro ứng dụng di động 63 00:04:02,410 --> 00:04:04,910 bạn sẽ thấy lý do tại sao đó là quan trọng hơn. 64 00:04:04,910 --> 00:04:09,710 Có những rủi ro ở cấp độ phần cứng trên các thiết bị di động. 65 00:04:09,710 --> 00:04:11,670 Đây là một lĩnh vực nghiên cứu liên tục. 66 00:04:11,670 --> 00:04:15,910 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 67 00:04:15,910 --> 00:04:21,870 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. 68 00:04:21,870 --> 00:04:25,430 >> Đây là những cuộc tấn công thực sự đáng sợ vì 69 00:04:25,430 --> 00:04:27,280 người sử dụng không phải làm bất cứ điều gì. 70 00:04:27,280 --> 00:04:30,760 Bạn có thể nhấn rất nhiều thiết bị trong phạm vi RF 71 00:04:30,760 --> 00:04:36,690 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 72 00:04:36,690 --> 00:04:40,750 nó nhanh chóng được phân loại nơi 73 00:04:40,750 --> 00:04:46,600 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ó." 74 00:04:46,600 --> 00:04:49,460 Có một số nghiên cứu đang diễn ra trong khu vực băng thông rộng, 75 00:04:49,460 --> 00:04:51,980 nhưng nó có vẻ là im lặng rất im lặng. 76 00:04:51,980 --> 00:04:56,910 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. 77 00:04:56,910 --> 00:05:02,140 Một lĩnh vực nghiên cứu hoạt động, mặc dù, là lớp hệ điều hành, 78 00:05:02,140 --> 00:05:08,910 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 79 00:05:08,910 --> 00:05:14,840 bởi vì trong không gian di động bạn có những nhóm người được gọi là jailbreakers, 80 00:05:14,840 --> 00:05:18,670 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. 81 00:05:18,670 --> 00:05:21,970 Họ đang cố gắng để tìm các lỗ hổng trong hệ điều hành, 82 00:05:21,970 --> 00:05:27,000 nhưng lý do họ đang cố gắng để tìm thấy những lỗ hổng không phải là để 83 00:05:27,000 --> 00:05:31,810 đột nhập vào máy tính của người khác và làm tổn hại nó. 84 00:05:31,810 --> 00:05:34,280 Nó để đột nhập vào máy tính của mình. 85 00:05:34,280 --> 00:05:38,820 >> 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 86 00:05:38,820 --> 00:05:41,050 để họ có thể chạy các ứng dụng của sự lựa chọn của họ 87 00:05:41,050 --> 00:05:44,510 và thay đổi mọi thứ với quyền quản trị đầy đủ, 88 00:05:44,510 --> 00:05:49,050 và họ không muốn nói với các nhà cung cấp về việc này. 89 00:05:49,050 --> 00:05:52,960 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 90 00:05:52,960 --> 00:05:56,600 đó 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ó. 91 00:05:56,600 --> 00:06:01,270 Họ muốn làm nghiên cứu này, và họ muốn thực hành nó 92 00:06:01,270 --> 00:06:06,400 trong khai thác, một rootkit hay một mã jailbreak, 93 00:06:06,400 --> 00:06:10,010 và họ muốn làm điều đó một cách chiến lược, như ngay sau khi 94 00:06:10,010 --> 00:06:13,570 các tàu nhà cung cấp hệ điều hành mới. 95 00:06:13,570 --> 00:06:16,350 Bạn có mối quan hệ thù địch này 96 00:06:16,350 --> 00:06:19,000 với các lỗ hổng hệ điều hành cấp trên điện thoại di động, 97 00:06:19,000 --> 00:06:23,150 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ó 98 00:06:23,150 --> 00:06:29,210 là nó làm cho nó để có tốt được công bố mã khai thác ra có 99 00:06:29,210 --> 00:06:31,750 các lỗ hổng cấp hạt nhân, 100 00:06:31,750 --> 00:06:35,040 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. 101 00:06:35,040 --> 00:06:38,450 Đó là một chút khác biệt so với thế giới máy tính. 102 00:06:38,450 --> 00:06:42,530 Và sau đó là lớp cuối cùng là lớp trên cùng, lớp ứng dụng. 103 00:06:42,530 --> 00:06:45,250 Đó là những gì tôi sẽ nói về ngày hôm nay. 104 00:06:45,250 --> 00:06:48,970 >> Các lớp khác tồn tại, và các lớp khác chơi vào nó, 105 00:06:48,970 --> 00:06:53,310 nhưng tôi là chủ yếu sẽ nói về những gì đang xảy ra ở lớp ứng dụng 106 00:06:53,310 --> 00:06:55,560 nơi mà mã đang chạy trong sandbox. 107 00:06:55,560 --> 00:06:58,670 Nó không có quyền quản trị. 108 00:06:58,670 --> 00:07:02,170 Nó có sử dụng các API của thiết bị, 109 00:07:02,170 --> 00:07:06,970 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à 110 00:07:06,970 --> 00:07:09,220 bởi vì đó là nơi mà tất cả các lớp thông tin. 111 00:07:09,220 --> 00:07:12,330 Ứng dụng có thể truy cập tất cả các thông tin trên thiết bị 112 00:07:12,330 --> 00:07:15,390 nếu họ có đủ quyền hạn, 113 00:07:15,390 --> 00:07:17,540 và họ có thể truy cập vào các cảm biến khác nhau trên thiết bị, 114 00:07:17,540 --> 00:07:23,950 Cảm biến GPS, microphone, camera, những gì có bạn. 115 00:07:23,950 --> 00:07:27,380 Mặc dù chúng tôi chỉ nói về ở lớp ứng dụng 116 00:07:27,380 --> 00:07:33,700 chúng tôi có rất nhiều rủi ro đó. 117 00:07:33,700 --> 00:07:38,450 Điều khác đó là khác nhau về môi trường di động 118 00:07:38,450 --> 00:07:45,060 là tất cả các cầu thủ hệ điều hành, có thể là BlackBerry hay Android 119 00:07:45,060 --> 00:07:53,410 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, 120 00:07:53,410 --> 00:07:56,990 và đây là một trong những cách mà họ xây dựng trong hệ điều hành 121 00:07:56,990 --> 00:08:01,230 ý kiến ​​cho rằng nó không phải là nguy hiểm như bạn nghĩ. 122 00:08:01,230 --> 00:08:04,550 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, 123 00:08:04,550 --> 00:08:09,080 bạn có hình ảnh của bạn, bạn có vị trí của bạn trên đó, 124 00:08:09,080 --> 00:08:14,820 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ì 125 00:08:14,820 --> 00:08:19,430 ứng dụng phải có quyền truy cập nhất định để có được một số phần 126 00:08:19,430 --> 00:08:25,080 các thông tin trên thiết bị, và người dùng phải được trình bày với 127 00:08:25,080 --> 00:08:29,230 các điều khoản và nói không sao. 128 00:08:29,230 --> 00:08:32,590 >> Vấn đề với nó là người sử dụng luôn luôn nói không sao. 129 00:08:32,590 --> 00:08:35,240 Là một người an ninh, tôi biết bạn có thể nhắc nhở người dùng, 130 00:08:35,240 --> 00:08:40,100 nói điều gì đó thực sự tồi tệ sẽ xảy ra, bạn có muốn nó xảy ra? 131 00:08:40,100 --> 00:08:44,680 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 đó, 132 00:08:44,680 --> 00:08:47,760 như một trò chơi sẽ được cài đặt mà họ đã chờ đợi, 133 00:08:47,760 --> 00:08:50,860 họ sẽ bấm được. 134 00:08:50,860 --> 00:08:56,630 Đó 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 đã, 135 00:08:56,630 --> 00:09:03,150 và bạn có thể thấy trên slide đây có ví dụ về một hộp cho phép BlackBerry. 136 00:09:03,150 --> 00:09:05,990 Nó nói "Xin hãy thiết lập cho phép ứng dụng BlackBerry Travel 137 00:09:05,990 --> 00:09:09,720 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 138 00:09:09,720 --> 00:09:12,240 thiết lập cho phép và lưu lại. 139 00:09:12,240 --> 00:09:18,010 Dưới đây là một dấu nhắc Android mà nó cho thấy điều gì đó, 140 00:09:18,010 --> 00:09:20,260 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. 141 00:09:20,260 --> 00:09:25,090 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, 142 00:09:25,090 --> 00:09:28,120 nhưng người dùng sẽ nhấp vào cài đặt, phải không? 143 00:09:28,120 --> 00:09:32,940 Và sau đó là một Apple là hoàn toàn vô hại. 144 00:09:32,940 --> 00:09:34,300 Nó không cho bất kỳ loại cảnh báo. 145 00:09:34,300 --> 00:09:37,380 Nó chỉ là Apple muốn sử dụng vị trí hiện tại của bạn. 146 00:09:37,380 --> 00:09:39,670 Tất nhiên bạn sẽ phải bấm được. 147 00:09:39,670 --> 00:09:42,260 >> Không có mô hình cho phép hạt mịn này, 148 00:09:42,260 --> 00:09:45,890 và các ứng dụng cần phải có một file manifest nơi họ tuyên bố 149 00:09:45,890 --> 00:09:49,410 các điều khoản mà họ cần, và điều đó sẽ được hiển thị cho người sử dụng, 150 00:09:49,410 --> 00:09:53,480 và người sử dụng sẽ phải nói rằng tôi cấp các điều khoản. 151 00:09:53,480 --> 00:09:55,080 Nhưng chúng ta hãy trung thực. 152 00:09:55,080 --> 00:09:58,400 Người sử dụng chỉ cần đi để luôn luôn nói không sao. 153 00:09:58,400 --> 00:10:04,460 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 154 00:10:04,460 --> 00:10:06,850 và một số các điều khoản đang có. 155 00:10:06,850 --> 00:10:09,950 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 156 00:10:09,950 --> 00:10:14,170 53.000 ứng dụng phân tích thị trường và bên thứ 3 thị trường Android, 157 00:10:14,170 --> 00:10:16,770 vì vậy đây là tất cả Android. 158 00:10:16,770 --> 00:10:19,670 Và các ứng dụng trung bình 3 yêu cầu quyền truy cập. 159 00:10:19,670 --> 00:10:23,370 Một số ứng dụng yêu cầu quyền truy cập 117, 160 00:10:23,370 --> 00:10:27,480 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 161 00:10:27,480 --> 00:10:31,600 nếu họ đang trình bày với ứng dụng này cần những 117 cho phép. 162 00:10:31,600 --> 00:10:37,270 Nó giống như các thỏa thuận cấp phép người dùng cuối là 45 trang. 163 00:10:37,270 --> 00:10:40,240 Có lẽ chẳng bao lâu họ sẽ có một tùy chọn mà nó như 164 00:10:40,240 --> 00:10:43,100 in các điều khoản và gửi cho tôi một email. 165 00:10:43,100 --> 00:10:45,480 >> 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 166 00:10:45,480 --> 00:10:50,840 24% các ứng dụng mà họ tải ra khỏi 53.000 167 00:10:50,840 --> 00:10:57,230 thông tin GPS yêu cầu từ thiết bị. 168 00:10:57,230 --> 00:10:59,810 8% đọc địa chỉ liên lạc. 169 00:10:59,810 --> 00:11:03,770 4% gửi tin nhắn SMS, và 3% nhận được tin nhắn SMS. 170 00:11:03,770 --> 00:11:07,730 2% ghi âm. 171 00:11:07,730 --> 00:11:11,210 1% xử lý các cuộc gọi đi. 172 00:11:11,210 --> 00:11:13,140 Tôi không biết. 173 00:11:13,140 --> 00:11:17,520 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, 174 00:11:17,520 --> 00:11:21,410 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. 175 00:11:21,410 --> 00:11:24,350 8% các ứng dụng cần phải đọc danh sách liên lạc của bạn. 176 00:11:24,350 --> 00:11:26,510 Đây có thể là không cần thiết. 177 00:11:26,510 --> 00:11:30,990 Một trong những điều thú vị khác về quyền truy cập là 178 00:11:30,990 --> 00:11:36,740 nếu bạn liên kết trong thư viện chia sẻ vào ứng dụng của bạn 179 00:11:36,740 --> 00:11:39,780 những kế thừa quyền truy cập của các ứng dụng, 180 00:11:39,780 --> 00:11:46,570 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 181 00:11:46,570 --> 00:11:49,940 và bạn liên kết trong một thư viện quảng cáo, ví dụ, 182 00:11:49,940 --> 00:11:53,170 mà thư viện quảng cáo cũng sẽ có thể truy cập vào địa chỉ liên lạc 183 00:11:53,170 --> 00:11:57,630 và cũng có thể truy cập vị trí GPS, 184 00:11:57,630 --> 00:12:01,990 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. 185 00:12:01,990 --> 00:12:05,370 Họ chỉ liên kết đó bởi vì họ muốn kiếm tiền từ ứng dụng của họ. 186 00:12:05,370 --> 00:12:09,820 >> Đây là nơi và tôi sẽ nói về một số ví dụ về điều này với 187 00:12:09,820 --> 00:12:13,930 một ứng dụng được gọi là Pandora, nơi một nhà phát triển ứng dụng 188 00:12:13,930 --> 00:12:18,910 vô tình có thể bị rò rỉ thông tin 189 00:12:18,910 --> 00:12:24,580 từ những người dùng của họ, vì thư viện, họ đã liên kết nhập 190 00:12:24,580 --> 00:12:30,110 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 191 00:12:30,110 --> 00:12:34,310 đã đượ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 192 00:12:34,310 --> 00:12:39,360 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, 193 00:12:39,360 --> 00:12:42,010 vì vậy chúng tôi đã kiểm tra họ và nhìn vào mã chính nó- 194 00:12:42,010 --> 00:12:49,640 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. 195 00:12:49,640 --> 00:12:54,180 Và nó chia thành 2 phần, mã độc hại, 196 00:12:54,180 --> 00:12:57,600 vì vậy đây là điều xấu mà các ứng dụng có thể làm điều đó 197 00:12:57,600 --> 00:13:06,520 có thể sẽ là cái gì mà một cá nhân độc hại 198 00:13:06,520 --> 00:13:10,060 đã đặt đặc biệt trong ứng dụng, nhưng đó là một chút mờ. 199 00:13:10,060 --> 00:13:13,300 Nó có thể là một cái gì đó mà một nhà phát triển cho rằng là tốt, 200 00:13:13,300 --> 00:13:16,350 nhưng nó kết thúc lên được coi là độc hại bởi người sử dụng. 201 00:13:16,350 --> 00:13:19,830 >> Và sau đó phần thứ hai là những gì chúng ta gọi là mã hóa các lỗ hổng, 202 00:13:19,830 --> 00:13:24,600 và đây là những điều mà các nhà phát triển về cơ bản là sai lầm 203 00:13:24,600 --> 00:13:27,200 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, 204 00:13:27,200 --> 00:13:30,260  và đó là đặt người sử dụng ứng dụng có nguy cơ. 205 00:13:30,260 --> 00:13:34,060 Tôi sẽ đi qua các chi tiết và đưa ra một số ví dụ. 206 00:13:34,060 --> 00:13:39,620 Để tham khảo, tôi muốn đưa lên điện thoại di động OWASP Top 10 danh sách. 207 00:13:39,620 --> 00:13:43,590 Đây là những vấn đề mà 10 nhóm tại OWASP, 208 00:13:43,590 --> 00:13:48,900 Dự án Open Web Application Security, họ có một nhóm làm việc 209 00:13:48,900 --> 00:13:50,620 làm việc trên một điện thoại di động danh sách top 10. 210 00:13:50,620 --> 00:13:54,600 Họ có một web top 10 danh sách rất nổi tiếng, đó là top 10 211 00:13:54,600 --> 00:13:57,180 điều rủi ro nhất bạn có thể có trong một ứng dụng web. 212 00:13:57,180 --> 00:13:59,090 Họ đang làm điều tương tự cho điện thoại di động, 213 00:13:59,090 --> 00:14:01,750 và danh sách của họ là một chút khác biệt so với chúng ta. 214 00:14:01,750 --> 00:14:03,670 6 trong số 10 đều giống nhau. 215 00:14:03,670 --> 00:14:06,020 Họ có 4 mà là khác nhau. 216 00:14:06,020 --> 00:14:10,550 Tôi nghĩ rằng họ có một chút của một mất khác nhau trên 217 00:14:10,550 --> 00:14:14,490 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ọ 218 00:14:14,490 --> 00:14:20,490 đang thực sự như thế nào ứng dụng được giao tiếp với một máy chủ back-end 219 00:14:20,490 --> 00:14:23,100 hoặc những gì đang xảy ra trên máy chủ back-end, 220 00:14:23,100 --> 00:14:29,220 ứ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. 221 00:14:29,220 --> 00:14:36,640 >> Những cái màu đỏ ở đây là sự khác biệt giữa 2 danh sách. 222 00:14:36,640 --> 00:14:40,740 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, 223 00:14:40,740 --> 00:14:44,570 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 224 00:14:44,570 --> 00:14:47,550 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ì 225 00:14:47,550 --> 00:14:50,510 họ đã thực sự chỉ có được khoảng 2 hoặc 3 năm nay, 226 00:14:50,510 --> 00:14:57,750 và chưa có đủ thời gian để thực sự nghiên cứu các hệ điều hành 227 00:14:57,750 --> 00:15:00,450 và những gì họ đang có khả năng, và chưa có đủ thời gian 228 00:15:00,450 --> 00:15:06,870 cho cộng đồng độc hại, nếu bạn sẽ, đã dành đủ thời gian 229 00:15:06,870 --> 00:15:12,910 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. 230 00:15:12,910 --> 00:15:18,720 Nhưng bây giờ, đây là 10 điều đầu phải lo lắng. 231 00:15:18,720 --> 00:15:24,150 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 232 00:15:24,150 --> 00:15:28,880 như thế nào có được trên điện thoại? 233 00:15:28,880 --> 00:15:35,210 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 234 00:15:35,210 --> 00:15:39,520 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ó, 235 00:15:39,520 --> 00:15:45,270 và họ đã chia nhỏ các vectơ tiêm rằng phần mềm độc hại di động sử dụng, 236 00:15:45,270 --> 00:15:51,490 và 86% sử dụng một kỹ thuật gọi là đóng gói lại, 237 00:15:51,490 --> 00:15:54,160 và điều này chỉ là trên nền tảng Android 238 00:15:54,160 --> 00:15:56,720 có thể bạn thực sự đóng gói lại này. 239 00:15:56,720 --> 00:16:03,100 >> Lý do là mã Android được xây dựng với 240 00:16:03,100 --> 00:16:08,130 một mã byte Java gọi là Dalvik đó là dễ dàng decompilable. 241 00:16:08,130 --> 00:16:12,460 Những gì kẻ xấu có thể làm là 242 00:16:12,460 --> 00:16:16,590 có một ứng dụng Android, dịch ngược nó, 243 00:16:16,590 --> 00:16:20,120 chèn mã độc hại của họ, biên dịch lại nó, 244 00:16:20,120 --> 00:16:28,070 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, 245 00:16:28,070 --> 00:16:30,330 hoặc chỉ có thể thay đổi tên của ứng dụng. 246 00:16:30,330 --> 00:16:35,140 Nếu đó là một số loại trò chơi, thay đổi tên hơi, 247 00:16:35,140 --> 00:16:42,860 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. 248 00:16:42,860 --> 00:16:45,810 Có một kỹ thuật gọi là bản cập nhật đó là 249 00:16:45,810 --> 00:16:50,030 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 250 00:16:50,030 --> 00:16:52,870 Những gì bạn làm là bạn đặt trong một cơ chế cập nhật nhỏ. 251 00:16:52,870 --> 00:16:56,660 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ó, 252 00:16:56,660 --> 00:17:02,360 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ị. 253 00:17:02,360 --> 00:17:06,300 >> Cho đến nay, phần lớn là những kỹ thuật 2. 254 00:17:06,300 --> 00:17:12,710 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, 255 00:17:12,710 --> 00:17:15,890 mà có thể là giống như một cuộc tấn công lừa đảo. 256 00:17:15,890 --> 00:17:18,200 Hey, kiểm tra trang web này thực sự mát mẻ, 257 00:17:18,200 --> 00:17:21,020 hoặc bạn cần phải vào trang web này và điền vào mẫu đơn này 258 00:17:21,020 --> 00:17:24,420 để giữ cho tiếp tục làm một cái gì đó. 259 00:17:24,420 --> 00:17:26,230 Những người đang tấn công lừa đảo. 260 00:17:26,230 --> 00:17:28,160 Điều tương tự cũng có thể xảy ra trên nền tảng di động, nơi họ 261 00:17:28,160 --> 00:17:33,830 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." 262 00:17:33,830 --> 00:17:36,070 "Chúng tôi thấy bạn đang sử dụng ứng dụng này." 263 00:17:36,070 --> 00:17:38,540 "Bạn nên tải về ứng dụng này khác." 264 00:17:38,540 --> 00:17:41,170 Về mặt lý thuyết, có thể làm việc. 265 00:17:41,170 --> 00:17:48,610 Có thể nó chỉ không được sử dụng đủ để xác định xem đó là thành công hay không, 266 00:17:48,610 --> 00:17:51,680 nhưng họ thấy rằng ít hơn 1% thời gian kỹ thuật được sử dụng. 267 00:17:51,680 --> 00:17:56,130 Phần lớn thời gian của nó thực sự một mã đóng gói. 268 00:17:56,130 --> 00:17:58,710 >> Có một loại được gọi là độc lập 269 00:17:58,710 --> 00:18:01,420 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. 270 00:18:01,420 --> 00:18:04,020 Họ xây dựng một ứng dụng mà nội dung là một cái gì đó. 271 00:18:04,020 --> 00:18:07,360 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. 272 00:18:07,360 --> 00:18:11,230 Đó là sử dụng 14% thời gian. 273 00:18:11,230 --> 00:18:17,880 Bây giờ tôi muốn nói về những gì là mã độc hại đang làm gì? 274 00:18:17,880 --> 00:18:23,070 Một trong những phần mềm độc hại đầu tiên ra có 275 00:18:23,070 --> 00:18:25,490 bạn có thể xem xét một phần mềm gián điệp. 276 00:18:25,490 --> 00:18:27,620 Về cơ bản nó gián điệp vào người sử dụng. 277 00:18:27,620 --> 00:18:30,470 Nó thu thập các email, tin nhắn SMS. 278 00:18:30,470 --> 00:18:32,340 Nó quay về micro. 279 00:18:32,340 --> 00:18:37,330 Nó thu hoạch cuốn sách liên lạc, và nó sẽ gửi nó cho người khác. 280 00:18:37,330 --> 00:18:40,870 Đây là loại phần mềm gián điệp tồn tại trên máy tính, 281 00:18:40,870 --> 00:18:46,200 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. 282 00:18:46,200 --> 00:18:53,230 >> 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. 283 00:18:53,230 --> 00:18:56,250 Đó là vào Android Marketplace một vài năm trước đây, 284 00:18:56,250 --> 00:18:59,960 và ý tưởng là nếu bạn có quyền truy cập vào điện thoại Android của ai đó 285 00:18:59,960 --> 00:19:03,450 mà bạn muốn để do thám, như vậy có lẽ đó là người phối ngẫu 286 00:19:03,450 --> 00:19:07,600 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ọ, 287 00:19:07,600 --> 00:19:11,200 bạn có thể tải về ứng dụng này và cài đặt nó và cấu hình nó 288 00:19:11,200 --> 00:19:16,540 gửi một tin nhắn văn bản SMS đến bạn một bản sao 289 00:19:16,540 --> 00:19:21,710 mỗi tin nhắn văn bản SMS họ có. 290 00:19:21,710 --> 00:19:27,220 Đ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ụ, 291 00:19:27,220 --> 00:19:32,040 và điều này đã được gỡ bỏ từ Android Marketplace trong vòng 18 giờ của nó là có, 292 00:19:32,040 --> 00:19:36,760 do đó, một số lượng rất nhỏ những người có nguy cơ vì điều này. 293 00:19:36,760 --> 00:19:42,510 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 294 00:19:42,510 --> 00:19:48,690 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. 295 00:19:48,690 --> 00:19:52,870 Nhưng nó là loại rõ ràng. 296 00:19:52,870 --> 00:19:58,680 >> 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 297 00:19:58,680 --> 00:20:01,410 là để kiểm tra mã. 298 00:20:01,410 --> 00:20:06,250 Đ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. 299 00:20:06,250 --> 00:20:11,050 Trên iOS, bạn có thể sử dụng một bộ tách rời như IDA Pro 300 00:20:11,050 --> 00:20:17,190 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. 301 00:20:17,190 --> 00:20:20,680 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 302 00:20:20,680 --> 00:20:24,940 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 303 00:20:24,940 --> 00:20:30,490 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? 304 00:20:30,490 --> 00:20:33,360 Và tôi có một số ví dụ ở đây trên iPhone. 305 00:20:33,360 --> 00:20:41,440 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. 306 00:20:41,440 --> 00:20:47,060 Điều này thực sự cái gì mà Apple vừa cấm các ứng dụng mới, 307 00:20:47,060 --> 00:20:52,540 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, 308 00:20:52,540 --> 00:20:56,500 và để định danh duy nhất có thể được sử dụng để theo dõi bạn 309 00:20:56,500 --> 00:21:00,440 trên nhiều ứng dụng khác nhau. 310 00:21:00,440 --> 00:21:07,180 >> Trên Android, tôi có một ví dụ ở đây để nhận được vị trí của thiết bị. 311 00:21:07,180 --> 00:21:10,310 Bạn có thể thấy rằng nếu cuộc gọi API là có ứng dụng được theo dõi, 312 00:21:10,310 --> 00:21:15,000 và bạn có thể xem nó nhận được vị trí tốt hoặc vị trí gần đúng. 313 00:21:15,000 --> 00:21:18,860 Và sau đó ở phía dưới đây, tôi có một ví dụ về cách trên BlackBerry 314 00:21:18,860 --> 00:21:25,130 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. 315 00:21:25,130 --> 00:21:27,660 Đây là những loại những thứ bạn có thể kiểm tra để xem 316 00:21:27,660 --> 00:21:32,360 nếu ứng dụng đang làm những điều đó. 317 00:21:32,360 --> 00:21:38,320 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, 318 00:21:38,320 --> 00:21:43,950 là quay số trái phép, phí bảo hiểm trái phép tin nhắn SMS 319 00:21:43,950 --> 00:21:46,080 hoặc thanh toán trái phép. 320 00:21:46,080 --> 00:21:48,930 Một điều đó là duy nhất về điện thoại 321 00:21:48,930 --> 00:21:52,700 là thiết bị được nối với một tài khoản thanh toán, 322 00:21:52,700 --> 00:21:55,960 và khi hoạt động xảy ra trên điện thoại 323 00:21:55,960 --> 00:21:58,510 nó có thể tạo ra chi phí. 324 00:21:58,510 --> 00:22:00,700 Bạn có thể mua những thứ qua điện thoại, 325 00:22:00,700 --> 00:22:04,390 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 326 00:22:04,390 --> 00:22:11,590 cho chủ tài khoản của số điện thoại ở phía bên kia. 327 00:22:11,590 --> 00:22:17,420 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, 328 00:22:17,420 --> 00:22:21,680 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. 329 00:22:21,680 --> 00:22:26,970 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. 330 00:22:26,970 --> 00:22:30,650 Bạn có thể cho $ 10 theo cách đó. 331 00:22:30,650 --> 00:22:34,190 >> Những kẻ tấn công, những gì họ đã làm là họ thiết lập 332 00:22:34,190 --> 00:22:38,750 tài khoản ở nước ngoài, và họ nhúng trong các phần mềm độc hại 333 00:22:38,750 --> 00:22:42,840 rằng điện thoại sẽ gửi tin nhắn văn bản SMS cao cấp, 334 00:22:42,840 --> 00:22:47,700 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 335 00:22:47,700 --> 00:22:52,090 hàng chục hoặc thậm chí hàng trăm đô la, và họ đi bộ với tiền bạc. 336 00:22:52,090 --> 00:22:57,280 Điều này đã xấu như vậy mà đây là điều đầu tiên mà Android 337 00:22:57,280 --> 00:23:00,760 Thị trường hoặc nơi-nó Google là Android Marketplace vào thời điểm đó, 338 00:23:00,760 --> 00:23:04,430 và nó bây giờ Google Play-điều đầu tiên mà Google bắt đầu kiểm tra. 339 00:23:04,430 --> 00:23:08,700 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ọ 340 00:23:08,700 --> 00:23:11,350 họ nói rằng họ không được đi để kiểm tra bất cứ điều gì. 341 00:23:11,350 --> 00:23:15,630 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ụ, 342 00:23:15,630 --> 00:23:17,520 nhưng chúng tôi sẽ không để kiểm tra bất cứ điều gì. 343 00:23:17,520 --> 00:23:24,350 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 344 00:23:24,350 --> 00:23:28,030 rằng đây là điều đầu tiên họ bắt đầu kiểm tra. 345 00:23:28,030 --> 00:23:31,770 Nếu một ứng dụng có thể gửi tin nhắn văn bản SMS 346 00:23:31,770 --> 00:23:34,750 họ tiếp tục rà soát thủ ứng dụng đó. 347 00:23:34,750 --> 00:23:38,770 Họ tìm kiếm các API mà gọi này, 348 00:23:38,770 --> 00:23:40,580 và bây giờ kể từ đó Google đã mở rộng, 349 00:23:40,580 --> 00:23:46,900 nhưng đây là điều đầu tiên mà họ bắt đầu tìm kiếm. 350 00:23:46,900 --> 00:23:50,690 >> Một số ứng dụng khác mà đã làm một số tin nhắn văn bản SMS, 351 00:23:50,690 --> 00:23:56,980 này Android Qicsomos, tôi đoán nó được gọi. 352 00:23:56,980 --> 00:24:02,670 Có sự kiện này hiện nay trên điện thoại di động mà CarrierIQ này ra 353 00:24:02,670 --> 00:24:07,720 như đặt phần mềm gián điệp trên thiết bị của các tàu sân bay, 354 00:24:07,720 --> 00:24:10,820 để 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, 355 00:24:10,820 --> 00:24:13,890 và đây là một ứng dụng miễn phí thử nghiệm đó. 356 00:24:13,890 --> 00:24:17,520 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, 357 00:24:17,520 --> 00:24:20,090 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 358 00:24:20,090 --> 00:24:24,930 bạn tải phần mềm độc hại vào thiết bị của bạn. 359 00:24:24,930 --> 00:24:27,310 Chúng ta đã thấy điều tương tự xảy ra tại Super Bowl cuối cùng. 360 00:24:27,310 --> 00:24:33,180 Có một phiên bản giả mạo của trò chơi bóng đá Madden 361 00:24:33,180 --> 00:24:38,320 đã gửi tin nhắn văn bản SMS cao cấp. 362 00:24:38,320 --> 00:24:45,750 Nó thực sự cố gắng để tạo ra một mạng bot quá trên thiết bị. 363 00:24:45,750 --> 00:24:48,090 Ở đây tôi có một số ví dụ. 364 00:24:48,090 --> 00:24:52,640 Điều thú vị đủ, Apple đã khá thông minh, 365 00:24:52,640 --> 00:24:58,470 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ả. 366 00:24:58,470 --> 00:25:00,350 Không có ứng dụng có thể làm điều đó. 367 00:25:00,350 --> 00:25:03,530 Đó 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, 368 00:25:03,530 --> 00:25:09,040 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á. 369 00:25:09,040 --> 00:25:13,060 Thật thú vị khi trên BlackBerry tất cả các bạn cần là cho phép internet 370 00:25:13,060 --> 00:25:18,370 để gửi một tin nhắn văn bản SMS. 371 00:25:18,370 --> 00:25:21,580 >> Điều khác thực sự mà chúng ta tìm kiếm 372 00:25:21,580 --> 00:25:24,780 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 373 00:25:24,780 --> 00:25:28,100 mạng lưới hoạt động trái phép, như xem xét các hoạt động mạng 374 00:25:28,100 --> 00:25:31,570 các ứng dụng được cho là cần phải có chức năng của nó, 375 00:25:31,570 --> 00:25:35,380 và nhìn vào hoạt động này mạng khác. 376 00:25:35,380 --> 00:25:43,380 Có lẽ là một ứng dụng, để làm việc, có để có được dữ liệu trên HTTP, 377 00:25:43,380 --> 00:25:47,500 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ế 378 00:25:47,500 --> 00:25:52,890 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. 379 00:25:52,890 --> 00:26:00,430 Và trên slide này đây tôi có một số ví dụ về điều đó. 380 00:26:00,430 --> 00:26:05,950 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, 381 00:26:05,950 --> 00:26:07,600 và nó đã xảy ra trong một cách lớn. 382 00:26:07,600 --> 00:26:11,390 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 383 00:26:11,390 --> 00:26:15,140 mà mạo nhận một ứng dụng khác. 384 00:26:15,140 --> 00:26:21,700 Có một tập hợp các ứng dụng, và nó được mệnh danh là tấn công 09Droid, 385 00:26:21,700 --> 00:26:29,770 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ỏ 386 00:26:29,770 --> 00:26:32,260 mà không có các ứng dụng ngân hàng trực tuyến, 387 00:26:32,260 --> 00:26:36,870 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 388 00:26:36,870 --> 00:26:39,410 rằng tất cả họ làm là lấy tên người dùng và mật khẩu 389 00:26:39,410 --> 00:26:42,190 và chuyển hướng bạn đến trang web. 390 00:26:42,190 --> 00:26:47,470 Và do đó, họ đặt những tất cả trong Marketplace của Google, 391 00:26:47,470 --> 00:26:51,530 trong Android Marketplace, và khi một ai đó tìm kiếm để xem nếu ngân hàng của họ 392 00:26:51,530 --> 00:26:56,000 đã có một ứng dụng mà họ sẽ tìm thấy những ứng dụng không có thật, 393 00:26:56,000 --> 00:27:01,230 trong đó thu thập thông tin của họ và sau đó chuyển chúng lên trang web của họ. 394 00:27:01,230 --> 00:27:06,640 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, 395 00:27:06,640 --> 00:27:09,050 và có hàng ngàn và hàng ngàn lượt tải. 396 00:27:09,050 --> 00:27:12,910 >> Cách này đưa ra ánh sáng là một người đã có một vấn đề 397 00:27:12,910 --> 00:27:15,740 với một trong các ứng dụng, và họ được gọi là ngân hàng của họ, 398 00:27:15,740 --> 00:27:18,390 và họ được gọi là dòng hỗ trợ khách hàng ngân hàng của họ và nói: 399 00:27:18,390 --> 00:27:21,180 "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." 400 00:27:21,180 --> 00:27:23,460 "Bạn có thể giúp tôi không?" 401 00:27:23,460 --> 00:27:26,540 Và họ nói rằng, "Chúng tôi không có một ứng dụng ngân hàng di động." 402 00:27:26,540 --> 00:27:28,120 Mà bắt đầu điều tra. 403 00:27:28,120 --> 00:27:31,200 Ngân hàng được gọi là Google, và sau đó Google nhìn và nói: 404 00:27:31,200 --> 00:27:37,220 "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. 405 00:27:37,220 --> 00:27:43,410 Nhưng chắc chắn điều này có thể xảy ra một lần nữa. 406 00:27:43,410 --> 00:27:51,790 Có danh sách của tất cả các ngân hàng khác nhau ở đây 407 00:27:51,790 --> 00:27:55,870 đó là một phần của lừa đảo này. 408 00:27:55,870 --> 00:28:02,050 Đ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. 409 00:28:02,050 --> 00:28:06,430 Trong khi nó đang chạy nó có thể bật lên giao diện người dùng Facebook. 410 00:28:06,430 --> 00:28:09,540 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 411 00:28:09,540 --> 00:28:15,090 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 412 00:28:15,090 --> 00:28:18,420 rằng có lẽ người dùng sử dụng chỉ để cố gắng lừa người sử dụng 413 00:28:18,420 --> 00:28:21,340 vào đặt thông tin của họ in 414 00:28:21,340 --> 00:28:25,590 Đâ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 415 00:28:25,590 --> 00:28:28,210 nơi ai đó gửi cho bạn một email 416 00:28:28,210 --> 00:28:33,050 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 417 00:28:33,050 --> 00:28:37,320 mà bạn có thể truy cập. 418 00:28:37,320 --> 00:28:41,590 >> Điều khác mà chúng tôi tìm kiếm mã độc hại là thay đổi hệ thống. 419 00:28:41,590 --> 00:28:48,160 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 420 00:28:48,160 --> 00:28:50,870 để thực hiện một cách chính xác. 421 00:28:50,870 --> 00:28:56,160 Thay đổi proxy web của thiết bị sẽ là một cái gì đó mà một ứng dụng 422 00:28:56,160 --> 00:28:59,530 không sẽ có thể làm. 423 00:28:59,530 --> 00:29:03,030 Nhưng nếu ứng dụng có mã trong đó để làm điều đó 424 00:29:03,030 --> 00:29:05,960 bạn biết rằng nó có thể là một ứng dụng độc hại 425 00:29:05,960 --> 00:29:09,620 hoặc rất cao có thể là một ứng dụng độc hại, 426 00:29:09,620 --> 00:29:13,910 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. 427 00:29:13,910 --> 00:29:17,200 Nó sẽ có một số leo thang đặc quyền khai thác 428 00:29:17,200 --> 00:29:20,730 trong ứng dụng, và sau đó một khi nó leo thang đặc quyền 429 00:29:20,730 --> 00:29:23,800 nó sẽ làm những sửa đổi hệ thống. 430 00:29:23,800 --> 00:29:28,010 Bạn có thể tìm thấy phần mềm độc hại có đặc quyền leo thang 431 00:29:28,010 --> 00:29:32,550 trong đó ngay cả khi không biết làm thế nào sự leo thang đặc quyền 432 00:29:32,550 --> 00:29:37,960 khai thác sẽ xảy ra, và đó là một tốt đẹp, cách dễ dàng 433 00:29:37,960 --> 00:29:41,220 để tìm phần mềm độc hại. 434 00:29:41,220 --> 00:29:46,030 DroidDream có lẽ là phần nổi tiếng nhất của phần mềm độc hại Android. 435 00:29:46,030 --> 00:29:50,530 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 436 00:29:50,530 --> 00:29:52,810 trước khi nó được tìm thấy. 437 00:29:52,810 --> 00:29:56,890 Họ đóng gói 50 ứng dụng không có thật, 438 00:29:56,890 --> 00:30:00,370 đặt chúng trong các cửa hàng ứng dụng Android, 439 00:30:00,370 --> 00:30:10,940 và về cơ bản nó sử dụng mã Jailbreak Android leo thang đặc quyền 440 00:30:10,940 --> 00:30:16,380 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 441 00:30:16,380 --> 00:30:20,690 vào một mạng lưới bot, nhưng bạn có thể đã phát hiện ra điều này 442 00:30:20,690 --> 00:30:24,170 nếu bạn đã quét các ứng dụng và chỉ cần tìm kiếm 443 00:30:24,170 --> 00:30:32,230 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. 444 00:30:32,230 --> 00:30:40,150 >> Và có một ví dụ ở đây tôi có được thay đổi proxy, 445 00:30:40,150 --> 00:30:46,380 và điều này thực sự là chỉ có sẵn trên Android. 446 00:30:46,380 --> 00:30:49,070 Bạn có thể thấy tôi đang đem lại cho bạn rất nhiều ví dụ trên Android 447 00:30:49,070 --> 00:30:53,990 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à 448 00:30:53,990 --> 00:30:58,690 bởi vì nó thực sự dễ dàng cho một kẻ tấn công để có được mã độc hại 449 00:30:58,690 --> 00:31:01,470 vào Android Marketplace. 450 00:31:01,470 --> 00:31:06,480 Nó không phải dễ dàng như vậy để làm điều đó trong App Store của Apple 451 00:31:06,480 --> 00:31:10,250 bởi vì Apple yêu cầu các nhà phát triển để xác định mình 452 00:31:10,250 --> 00:31:12,790 và ký mã. 453 00:31:12,790 --> 00:31:20,340 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. 454 00:31:20,340 --> 00:31:27,450 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. 455 00:31:27,450 --> 00:31:32,250 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, 456 00:31:32,250 --> 00:31:38,460 và đó là những gì thực sự xảy ra trên các thiết bị của Apple. 457 00:31:38,460 --> 00:31:44,090 Một điều để tìm cho mã độc, mã nguy hiểm trong các thiết bị 458 00:31:44,090 --> 00:31:50,300 là logic hoặc thời gian bom, và quả bom thời gian có thể là 459 00:31:50,300 --> 00:31:53,370 dễ dàng hơn để tìm kiếm hơn bom logic. 460 00:31:53,370 --> 00:31:57,030 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 461 00:31:57,030 --> 00:32:04,760 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 462 00:32:04,760 --> 00:32:08,190 trước khi chức năng nhất định trong các ứng dụng sẽ xảy ra. 463 00:32:08,190 --> 00:32:14,200 Và điều này có thể được thực hiện để che giấu hoạt động đó từ người sử dụng, 464 00:32:14,200 --> 00:32:17,510 do đó, nó xảy ra vào lúc đêm khuya. 465 00:32:17,510 --> 00:32:24,350 DroidDream đã làm tất cả hoạt động của nó 11:00-08:00 giờ địa phương 466 00:32:24,350 --> 00:32:30,650 để 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ọ. 467 00:32:30,650 --> 00:32:38,680 >> 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, 468 00:32:38,680 --> 00:32:43,430 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, 469 00:32:43,430 --> 00:32:51,090 họ có thể sử dụng logic dựa trên thời gian để thực hiện hoạt động 470 00:32:51,090 --> 00:32:54,640 khi ứng dụng không có trong sandbox. 471 00:32:54,640 --> 00:33:01,520 Ví dụ, một cửa hàng ứng dụng như Apple 472 00:33:01,520 --> 00:33:07,940 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 473 00:33:07,940 --> 00:33:10,550 trước khi phê duyệt nó, vì vậy bạn có thể đặt 474 00:33:10,550 --> 00:33:14,120 logic trong ứng dụng của bạn mà nói, không sao, chỉ làm điều xấu 475 00:33:14,120 --> 00:33:20,490 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, 476 00:33:20,490 --> 00:33:27,020 và có thể giúp các ẩn mã độc hại từ những người kiểm tra cho nó. 477 00:33:27,020 --> 00:33:30,050 Nếu các công ty chống virus đang chạy trong điều cát 478 00:33:30,050 --> 00:33:36,370 hoặc các cửa hàng ứng dụng chính họ là điều này có thể giúp 479 00:33:36,370 --> 00:33:39,260 ẩn mà kiểm tra đó. 480 00:33:39,260 --> 00:33:43,020 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, 481 00:33:43,020 --> 00:33:46,170 để thực sự kiểm tra mã, bạn có thể tìm kiếm tất cả các nơi 482 00:33:46,170 --> 00:33:54,010 nơi ứng dụng kiểm tra thời gian và kiểm tra theo cách đó. 483 00:33:54,010 --> 00:33:58,850 Và ở đây tôi có một số ví dụ về những 3 nền tảng khác nhau 484 00:33:58,850 --> 00:34:05,640 như thế nào thời gian có thể được kiểm tra bởi nhà sản xuất ứng dụng 485 00:34:05,640 --> 00:34:10,520 để bạn biết những gì để tìm nếu bạn đang kiểm tra các ứng dụng tĩnh. 486 00:34:10,520 --> 00:34:14,570 >> Tôi chỉ cần đi qua một bó toàn bộ các hoạt động độc hại khác nhau 487 00:34:14,570 --> 00:34:18,969 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? 488 00:34:18,969 --> 00:34:23,940 Nghiên cứu đó cũng từ dự án Nhà nước di động Genome North Carolina 489 00:34:23,940 --> 00:34:28,560 công bố một số dữ liệu, và về cơ bản đã có 4 khu vực 490 00:34:28,560 --> 00:34:32,850 rằng họ nhìn thấy nơi đã có rất nhiều hoạt động. 491 00:34:32,850 --> 00:34:35,370 37% các ứng dụng đã làm leo thang đặc quyền, 492 00:34:35,370 --> 00:34:38,429 do đó, họ đã có một số loại mã Jailbreak trong đó 493 00:34:38,429 --> 00:34:42,070 nơi họ đã cố gắng để leo thang đặc quyền để họ có thể 494 00:34:42,070 --> 00:34:48,360 làm lệnh API chạy hệ điều hành. 495 00:34:48,360 --> 00:34:52,520 45% các ứng dụng hiện có đã SMS cao cấp, 496 00:34:52,520 --> 00:34:57,260 vì vậy đó là một tỷ lệ rất lớn đó là cố gắng để kiếm tiền trực tiếp. 497 00:34:57,260 --> 00:35:02,640 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. 498 00:35:02,640 --> 00:35:08,990 Và 45% thu hoạch thông tin nhận dạng 499 00:35:08,990 --> 00:35:16,230 như số điện thoại, UUID, vị trí GPS, tài khoản người dùng, 500 00:35:16,230 --> 00:35:22,870 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. 501 00:35:22,870 --> 00:35:27,070 >> Tôi sẽ chuyển sang hiệp hai và nói về những lỗ hổng bảo mật mã. 502 00:35:27,070 --> 00:35:29,480 Đây là một nửa thứ hai của hoạt động nguy hiểm. 503 00:35:29,480 --> 00:35:33,450 Đây là nơi chủ yếu các nhà phát triển đang làm lỗi. 504 00:35:33,450 --> 00:35:37,210 Một nhà phát triển hợp pháp viết một ứng dụng hợp pháp 505 00:35:37,210 --> 00:35:41,830 đượ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. 506 00:35:41,830 --> 00:35:44,780 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, 507 00:35:44,780 --> 00:35:47,700 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ơ. 508 00:35:47,700 --> 00:35:50,850 Đôi khi một phần của mô hình kinh doanh của họ có thể là 509 00:35:50,850 --> 00:35:54,610 thu hoạch thông tin cá nhân của người dùng. 510 00:35:54,610 --> 00:35:58,090 Đó 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 511 00:35:58,090 --> 00:36:03,200 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 512 00:36:03,200 --> 00:36:10,440 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 513 00:36:10,440 --> 00:36:13,050 và những gì các nhà phát triển ứng dụng xem xét rủi ro. 514 00:36:13,050 --> 00:36:18,380 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. 515 00:36:18,380 --> 00:36:22,030 >> 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 516 00:36:22,030 --> 00:36:28,600 một thư viện chia sẻ rằng có lỗ hổng hoặc hành vi nguy cơ này ở trong đó 517 00:36:28,600 --> 00:36:32,480 không biết rằng đối với họ. 518 00:36:32,480 --> 00:36:37,060 Các thể loại đầu tiên là nhạy cảm rò rỉ dữ liệu, 519 00:36:37,060 --> 00:36:40,030 và điều này là khi các ứng dụng thu thập thông tin 520 00:36:40,030 --> 00:36:44,980 như vị trí, thông tin sổ địa chỉ, thông tin chủ sở hữu 521 00:36:44,980 --> 00:36:48,000 và gửi cho tắt thiết bị. 522 00:36:48,000 --> 00:36:53,050 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 đó. 523 00:36:53,050 --> 00:36:57,170 Nó có thể được lưu trữ không an toàn bởi nhà phát triển ứng dụng. 524 00:36:57,170 --> 00:37:02,070 Chúng tôi đã nhìn thấy các nhà phát triển ứng dụng có được thỏa hiệp, 525 00:37:02,070 --> 00:37:05,820 và các dữ liệu mà họ đang lưu trữ được thực hiện. 526 00:37:05,820 --> 00:37:10,970 Điều này xảy ra cách đây vài tháng để một nhà phát triển xuống ở Florida 527 00:37:10,970 --> 00:37:21,660 nơi một số lượng lớn các-đó là iPad UUIDs và tên thiết bị 528 00:37:21,660 --> 00:37:25,270 đã bị rò rỉ bởi vì một người nào đó, tôi nghĩ rằng nó là vô danh, 529 00:37:25,270 --> 00:37:29,460 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 530 00:37:29,460 --> 00:37:34,920 và đã đánh cắp hàng triệu iPad UUIDs 531 00:37:34,920 --> 00:37:37,390 và tên máy tính. 532 00:37:37,390 --> 00:37:40,260 Không phải là thông tin nguy hiểm nhất, 533 00:37:40,260 --> 00:37:46,820 nhưng những gì nếu đó là lưu trữ tên người dùng và mật khẩu 534 00:37:46,820 --> 00:37:48,170 và địa chỉ nhà? 535 00:37:48,170 --> 00:37:51,100 Có rất nhiều các ứng dụng lưu trữ rằng loại thông tin. 536 00:37:51,100 --> 00:37:53,230 Nguy cơ là có. 537 00:37:53,230 --> 00:37:56,620 >> 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 538 00:37:56,620 --> 00:38:01,370 để 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ề, 539 00:38:01,370 --> 00:38:05,160 dữ liệu đang được gửi trong rõ ràng. 540 00:38:05,160 --> 00:38:09,040 Nếu người sử dụng là trên một mạng Wi-Fi công cộng 541 00:38:09,040 --> 00:38:12,330 hoặc một người nào đó đang kiểm tra internet một nơi nào đó 542 00:38:12,330 --> 00:38:19,260 dọc theo đường dẫn dữ liệu đang được tiếp xúc. 543 00:38:19,260 --> 00:38:23,790 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, 544 00:38:23,790 --> 00:38:27,250 và điều này là một cái gì đó chúng tôi nghiên cứu tại Veracode. 545 00:38:27,250 --> 00:38:33,200 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 546 00:38:33,200 --> 00:38:35,310 điều tra đang xảy ra với Pandora. 547 00:38:35,310 --> 00:38:39,830 Chúng tôi đã nói, "Có gì xảy ra ở đó? Hãy bắt đầu đào vào ứng dụng Pandora." 548 00:38:39,830 --> 00:38:46,690 Và những gì chúng tôi xác định là ứng dụng Pandora thu thập 549 00:38:46,690 --> 00:38:51,270 giới tính và tuổi tác của bạn, 550 00:38:51,270 --> 00:38:56,660 và nó cũng truy cập vị trí GPS của bạn, và các ứng dụng Pandora 551 00:38:56,660 --> 00:39:00,200 đã làm điều này cho những gì họ nói là lý do chính đáng. 552 00:39:00,200 --> 00:39:05,360 Âm nhạc mà họ đã chơi-Pandora là một ứng dụng âm nhạc trực tuyến 553 00:39:05,360 --> 00:39:07,530 âm nhạc họ chơi chỉ được cấp phép tại Hoa Kỳ, 554 00:39:07,530 --> 00:39:13,020 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ọ đã 555 00:39:13,020 --> 00:39:17,240 cho âm nhạc mà người sử dụng đang ở Hoa Kỳ. 556 00:39:17,240 --> 00:39:25,070 Họ cũng muốn thực hiện theo tư vấn của cha mẹ 557 00:39:25,070 --> 00:39:33,790 xung quanh ngôn ngữ người lớn trong âm nhạc, 558 00:39:33,790 --> 00:39:37,500 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 đó 559 00:39:37,500 --> 00:39:43,010 và không chơi lời bài hát rõ ràng để trẻ từ 13 trở xuống. 560 00:39:43,010 --> 00:39:46,280 >> Họ có lý do chính đáng cho việc thu thập dữ liệu này. 561 00:39:46,280 --> 00:39:49,160 Ứng dụng của họ có quyền làm điều đó. 562 00:39:49,160 --> 00:39:52,000 Người sử dụng nghĩ rằng đó là hợp pháp. Nhưng những gì đã xảy ra? 563 00:39:52,000 --> 00:39:55,810 Họ liên kết trong 3 hoặc 4 thư viện quảng cáo khác nhau. 564 00:39:55,810 --> 00:39:59,140 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 565 00:39:59,140 --> 00:40:02,970 đang nhận được quyền truy cập vào thông tin này cùng. 566 00:40:02,970 --> 00:40:05,830 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 567 00:40:05,830 --> 00:40:08,430 những gì họ làm là mỗi thư viện quảng cáo nói 568 00:40:08,430 --> 00:40:11,340 "Có ứng dụng của tôi có sự cho phép để có được vị trí GPS?" 569 00:40:11,340 --> 00:40:14,890 "Ồ, nó? Được rồi, cho tôi biết vị trí GPS." 570 00:40:14,890 --> 00:40:16,620 Mỗi thư viện quảng cáo duy nhất nào đó, 571 00:40:16,620 --> 00:40:19,740 và nếu các ứng dụng không có sự cho phép GPS 572 00:40:19,740 --> 00:40:23,460 nó sẽ không thể để có được nó, nhưng nếu có, nó sẽ nhận được nó. 573 00:40:23,460 --> 00:40:26,240 Đây là nơi mà các mô hình kinh doanh của các thư viện quảng cáo 574 00:40:26,240 --> 00:40:31,160 trái ngược với sự riêng tư của người sử dụng. 575 00:40:31,160 --> 00:40:34,980 Và đã có nghiên cứu ra có mà sẽ nói rằng nếu bạn biết tuổi 576 00:40:34,980 --> 00:40:38,430 của một người và bạn biết vị trí của họ 577 00:40:38,430 --> 00:40:42,530 nơi họ ngủ vào ban đêm, bởi vì bạn có tọa độ GPS của họ 578 00:40:42,530 --> 00:40:46,030 trong khi họ có lẽ đang ngủ, bạn biết chính xác người đó là ai 579 00:40:46,030 --> 00:40:50,230 bởi vì bạn có thể xác định thành viên của hộ gia đình là người đó. 580 00:40:50,230 --> 00:40:54,780 Thực sự này là xác định các nhà quảng cáo 581 00:40:54,780 --> 00:40:59,530 chính xác bạn là ai, và có vẻ như nó là hợp pháp. 582 00:40:59,530 --> 00:41:02,800 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ó. 583 00:41:02,800 --> 00:41:05,370 >> Vâng, chúng tôi tiếp xúc này. 584 00:41:05,370 --> 00:41:08,030 Chúng tôi đã viết này lên ở một số bài đăng trên blog, 585 00:41:08,030 --> 00:41:13,280 và nó bật ra rằng một người nào đó từ tạp chí Rolling Stone 586 00:41:13,280 --> 00:41:18,810 đọ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ó, 587 00:41:18,810 --> 00:41:22,120 và những ngày tiếp theo Pandora nghĩ đó là một ý tưởng tốt 588 00:41:22,120 --> 00:41:27,600 để loại bỏ các quảng cáo từ các thư viện ứng dụng của họ. 589 00:41:27,600 --> 00:41:31,270 Theo như tôi biết họ là người duy nhất-họ nên được khen thưởng. 590 00:41:31,270 --> 00:41:35,770 Tôi nghĩ rằng họ là loại freemium duy nhất của ứng dụng đó đã làm điều này. 591 00:41:35,770 --> 00:41:38,660 Tất cả các ứng dụng Freemium khác có hành vi này như nhau, 592 00:41:38,660 --> 00:41:41,780 vậy bạn đã có suy nghĩ về loại dữ liệu bạn đang đem lại cho 593 00:41:41,780 --> 00:41:48,330 các ứng dụng Freemium vì đó là tất cả sẽ quảng cáo. 594 00:41:48,330 --> 00:41:53,390 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, 595 00:41:53,390 --> 00:41:57,100 "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. 596 00:41:57,100 --> 00:41:59,420 >> Họ đã phân tích 53.000 ứng dụng, 597 00:41:59,420 --> 00:42:01,900 và các thư viện chia sẻ số 1 là AdMob. 598 00:42:01,900 --> 00:42:06,060 Nó đã thực sự trong 38% các ứng dụng trên mạng, 599 00:42:06,060 --> 00:42:08,800 nên 38% các ứng dụng bạn đang sử dụng 600 00:42:08,800 --> 00:42:11,250 có khả năng thu hoạch thông tin cá nhân của bạn 601 00:42:11,250 --> 00:42:16,650 và gửi nó cho các mạng lưới quảng cáo. 602 00:42:16,650 --> 00:42:19,350 Apache và Android là 8% và 6%, 603 00:42:19,350 --> 00:42:22,960 và sau đó những người khác xuống ở dưới cùng, Quảng cáo Google, Flurry, 604 00:42:22,960 --> 00:42:26,600 Đám đông thành phố và Millennial Media, 605 00:42:26,600 --> 00:42:30,500 đây là tất cả các công ty quảng cáo, và sau đó, khá thú vị, 606 00:42:30,500 --> 00:42:33,500 4% liên kết trong thư viện Facebook 607 00:42:33,500 --> 00:42:38,870 có lẽ người dùng xác thực thông qua Facebook 608 00:42:38,870 --> 00:42:40,810 do đó, các ứng dụng có thể xác thực Facebook. 609 00:42:40,810 --> 00:42:44,660 Nhưng điều đó cũng có nghĩa là công ty Facebook đang kiểm soát 610 00:42:44,660 --> 00:42:49,010 đang chạy trong 4% của các ứng dụng di động Android trên mạng, 611 00:42:49,010 --> 00:42:53,490 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. 612 00:42:53,490 --> 00:42:57,170 Facebook về cơ bản cố gắng để bán không gian quảng cáo. 613 00:42:57,170 --> 00:43:00,120 Đó là mô hình kinh doanh của họ. 614 00:43:00,120 --> 00:43:02,920 >> 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 615 00:43:02,920 --> 00:43:07,740 và thư viện chia sẻ bạn bắt đầu thấy rằng 616 00:43:07,740 --> 00:43:13,850 bạn có rất nhiều rủi ro trong một ứng dụng được cho là hợp pháp. 617 00:43:13,850 --> 00:43:19,360 Điều tương tự đã xảy ra cùng với Pandora 618 00:43:19,360 --> 00:43:22,340 đã xảy ra với một ứng dụng gọi là Path, 619 00:43:22,340 --> 00:43:27,660 và đường dẫn nghĩ rằng họ đã bị hữu ích, phát triển thân thiện. 620 00:43:27,660 --> 00:43:32,160 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, 621 00:43:32,160 --> 00:43:37,810 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ì- 622 00:43:37,810 --> 00:43:40,400 và điều này đã xảy ra trên iPhone và Android, 623 00:43:40,400 --> 00:43:44,420 các ứng dụng Pandora là trên iPhone và Android 624 00:43:44,420 --> 00:43:48,890 rằng các ứng dụng con đường đã được lấy toàn bộ sổ địa chỉ của bạn 625 00:43:48,890 --> 00:43:52,830 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, 626 00:43:52,830 --> 00:43:55,840 và họ đã không nói với bạn về điều này. 627 00:43:55,840 --> 00:43:58,750 Họ nghĩ rằng nó là thực sự hữu ích cho bạn 628 00:43:58,750 --> 00:44:04,040 để có thể chia sẻ với tất cả mọi người trong sổ địa chỉ của bạn 629 00:44:04,040 --> 00:44:06,920 rằng bạn đang sử dụng ứng dụng Path. 630 00:44:06,920 --> 00:44:09,490 >> Vâng, rõ ràng là con đường nghĩ đây là tuyệt vời cho công ty của họ. 631 00:44:09,490 --> 00:44:13,510 Không tuyệt vời như vậy cho người dùng. 632 00:44:13,510 --> 00:44:19,020 Bạn phải suy nghĩ rằng đó là một điều nếu có thể là một thiếu niên 633 00:44:19,020 --> 00:44:23,700 đang sử dụng ứng dụng này và hàng chục bạn bè của họ đang ở trong đó, 634 00:44:23,700 --> 00:44:29,360 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 635 00:44:29,360 --> 00:44:33,170 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à ở đó? 636 00:44:33,170 --> 00:44:38,310 Bạn sẽ nhận được rất nhiều thông tin liên lạc giá trị tiềm năng 637 00:44:38,310 --> 00:44:40,920 cho rất nhiều người. 638 00:44:40,920 --> 00:44:44,500 Một phóng viên của New York Times, bạn có thể có thể có được số điện thoại 639 00:44:44,500 --> 00:44:47,380 cho Chủ tịch cũ từ sổ địa chỉ của họ, 640 00:44:47,380 --> 00:44:54,780 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. 641 00:44:54,780 --> 00:44:58,090 Có như một vạt lớn về điều này con đường mà xin lỗi. 642 00:44:58,090 --> 00:45:01,610 Họ đã thay đổi ứng dụng của họ, và nó thậm chí ảnh hưởng của Apple. 643 00:45:01,610 --> 00:45:06,950 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 644 00:45:06,950 --> 00:45:12,650 nếu họ sẽ thu thập toàn bộ cuốn sách địa chỉ của họ. " 645 00:45:12,650 --> 00:45:15,360 >> Nó trông giống như những gì đang xảy ra ở đây là 646 00:45:15,360 --> 00:45:19,430 khi có hành vi vi phạm quyền riêng tư lớn và nó làm cho báo chí 647 00:45:19,430 --> 00:45:21,680 chúng ta thấy một sự thay đổi ra khỏi đó. 648 00:45:21,680 --> 00:45:23,230 Nhưng tất nhiên, có những thứ khác ra khỏi đó. 649 00:45:23,230 --> 00:45:27,440 Ứng dụng LinkedIn thu hoạch các mục lịch của bạn, 650 00:45:27,440 --> 00:45:34,530 nhưng Apple không làm cho người dùng được nhắc nhở về điều đó. 651 00:45:34,530 --> 00:45:38,030 Các mục lịch có thể có thông tin nhạy cảm trong chúng. 652 00:45:38,030 --> 00:45:40,000 Có thì bạn sẽ rút ra những dòng? 653 00:45:40,000 --> 00:45:43,960 Điều này thực sự là loại một nơi phát triển 654 00:45:43,960 --> 00:45:47,640 nơi có thực sự không có tiêu chuẩn tốt ra khỏi đó 655 00:45:47,640 --> 00:45:51,990 cho người sử dụng hiểu khi thông tin của họ sẽ có nguy cơ 656 00:45:51,990 --> 00:45:57,820 và khi họ sẽ biết nó đang được thực hiện. 657 00:45:57,820 --> 00:46:03,040 Chúng tôi đã viết một ứng dụng tại Veracode gọi là Adios, 658 00:46:03,040 --> 00:46:08,350 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 659 00:46:08,350 --> 00:46:12,550 và xem xét tất cả các ứng dụng đã được thu hoạch sổ địa chỉ đầy đủ của bạn. 660 00:46:12,550 --> 00:46:19,760 Và bạn có thể thấy trong danh sách này đây, Angry Birds, 661 00:46:19,760 --> 00:46:21,590 AIM, AROUNDMe. 662 00:46:21,590 --> 00:46:24,050 Tại sao Angry Birds cần sổ địa chỉ của bạn? 663 00:46:24,050 --> 00:46:29,160 Tôi không biết, nhưng nó bằng cách nào đó. 664 00:46:29,160 --> 00:46:32,310 >> Đây là điều mà nhiều người, nhiều ứng dụng làm. 665 00:46:32,310 --> 00:46:34,780 Bạn có thể kiểm tra mã cho việc này. 666 00:46:34,780 --> 00:46:38,660 Có API cũng được xác định cho iPhone, Android và BlackBerry 667 00:46:38,660 --> 00:46:42,120 để có được ở sổ địa chỉ. 668 00:46:42,120 --> 00:46:48,520 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. 669 00:46:48,520 --> 00:46:52,320 Các thể loại tiếp theo, không an toàn dữ liệu nhạy cảm lưu trữ, 670 00:46:52,320 --> 00:46:55,670 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 671 00:46:55,670 --> 00:46:58,530 hoặc một mật khẩu và lưu nó trong rõ ràng trên thiết bị. 672 00:46:58,530 --> 00:47:02,310 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 673 00:47:02,310 --> 00:47:06,820 có thể truy cập trên toàn cầu, giống như thẻ SD. 674 00:47:06,820 --> 00:47:11,320 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. 675 00:47:11,320 --> 00:47:13,200 Thiết bị iPhone thì không. 676 00:47:13,200 --> 00:47:17,900 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. 677 00:47:17,900 --> 00:47:25,450 Ứ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, 678 00:47:25,450 --> 00:47:28,120 chỉ trong rõ ràng, vì vậy nếu bạn bị mất điện thoại, 679 00:47:28,120 --> 00:47:30,670 về cơ bản bạn bị mất tài khoản ngân hàng của bạn. 680 00:47:30,670 --> 00:47:36,000 Đâ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. 681 00:47:36,000 --> 00:47:43,710 Tôi nghĩ rằng nó quá nguy hiểm ngay bây giờ để làm các loại hoạt động. 682 00:47:43,710 --> 00:47:45,950 >> Skype đã làm điều tương tự. 683 00:47:45,950 --> 00:47:49,870 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 684 00:47:49,870 --> 00:47:51,030 truy cập vào sự cân bằng đó. 685 00:47:51,030 --> 00:48:00,080 Họ đã lưu trữ tất cả các thông tin trong rõ ràng trên thiết bị di động. 686 00:48:00,080 --> 00:48:05,760 Tôi có một số ví dụ ở đây tạo ra các tập tin 687 00:48:05,760 --> 00:48:10,310 không có đủ quyền hạn hoặc bằng văn bản cho đĩa 688 00:48:10,310 --> 00:48:17,260 và không có bất kỳ mã hóa xảy ra cho điều đó. 689 00:48:17,260 --> 00:48:20,190 Khu vực này tiếp theo, không an toàn dữ liệu nhạy cảm truyền, 690 00:48:20,190 --> 00:48:24,450 Tôi đã ám chỉ điều này một vài lần, và vì Wi-Fi công cộng 691 00:48:24,450 --> 00:48:27,770 đây là điều mà các ứng dụng hoàn toàn cần phải làm, 692 00:48:27,770 --> 00:48:31,250 và điều này có lẽ là những gì chúng ta thấy sai lầm nhất. 693 00:48:31,250 --> 00:48:34,920 Tôi có thể nói-thật sự, tôi nghĩ rằng tôi có dữ liệu thực tế, 694 00:48:34,920 --> 00:48:38,120 nhưng đó là gần một nửa các ứng dụng di động 695 00:48:38,120 --> 00:48:41,780 vít lên làm SSL. 696 00:48:41,780 --> 00:48:43,910 Họ chỉ không sử dụng các API chính xác. 697 00:48:43,910 --> 00:48:47,970 Ý 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, 698 00:48:47,970 --> 00:48:54,720 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, 699 00:48:54,720 --> 00:49:02,120 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. 700 00:49:02,120 --> 00:49:07,200 >> Các nhà phát triển, họ muốn để có được hộp kiểm của họ, phải không? 701 00:49:07,200 --> 00:49:11,910 Yêu cầu của họ là sử dụng này để bán. Họ đã sử dụng này để bán. 702 00:49:11,910 --> 00:49:14,800 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, 703 00:49:14,800 --> 00:49:19,680 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 704 00:49:19,680 --> 00:49:23,470 khi nó được truyền ra khỏi thiết bị thực sự cần phải được kiểm tra 705 00:49:23,470 --> 00:49:28,950 để đảm bảo rằng đã được thực hiện một cách chính xác. 706 00:49:28,950 --> 00:49:32,850 Và ở đây tôi có một số ví dụ mà bạn có thể thấy một ứng dụng 707 00:49:32,850 --> 00:49:37,400 có thể được sử dụng HTTP thay vì HTTPS. 708 00:49:37,400 --> 00:49:40,510 Trong một số trường hợp các ứng dụng sẽ rơi trở lại HTTP 709 00:49:40,510 --> 00:49:44,250 nếu HTTPS không làm việc. 710 00:49:44,250 --> 00:49:49,070 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, 711 00:49:49,070 --> 00:49:51,700 do đó, một cuộc tấn công man-in-the-middle có thể xảy ra. 712 00:49:51,700 --> 00:49:56,370 Giấy chứng nhận hợp lệ sẽ được chấp nhận. 713 00:49:56,370 --> 00:50:01,920 Đây là tất cả trường hợp kẻ tấn công sẽ có thể nhận được trên 714 00:50:01,920 --> 00:50:07,150 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 715 00:50:07,150 --> 00:50:11,650 mà đang được gửi qua internet. 716 00:50:11,650 --> 00:50:15,970 >> 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. 717 00:50:15,970 --> 00:50:21,470 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ự 718 00:50:21,470 --> 00:50:25,900 mà họ đã làm khi họ đã xây dựng các ứng dụng máy chủ web, 719 00:50:25,900 --> 00:50:29,700 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. 720 00:50:29,700 --> 00:50:31,940 Vâng, khi bạn đang xây dựng một ứng dụng máy chủ, yeah, 721 00:50:31,940 --> 00:50:34,240 xác định rõ trọng không phải là một ý tưởng tốt. 722 00:50:34,240 --> 00:50:36,290 Nó làm cho nó khó thay đổi. 723 00:50:36,290 --> 00:50:40,700 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? 724 00:50:40,700 --> 00:50:43,140 Chỉ có quản trị viên. 725 00:50:43,140 --> 00:50:48,100 Nhưng nếu bạn có cùng mã và bạn đổ nó cho một ứng dụng di động 726 00:50:48,100 --> 00:50:52,550 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, 727 00:50:52,550 --> 00:50:56,380 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ê 728 00:50:56,380 --> 00:51:00,920 làm thế nào chúng ta thường thấy điều này xảy ra. 729 00:51:00,920 --> 00:51:04,940 Nó thực sự là trong mã ví dụ mà MasterCard công bố 730 00:51:04,940 --> 00:51:06,850 làm thế nào để sử dụng dịch vụ của họ. 731 00:51:06,850 --> 00:51:11,860 Đoạn mã ví dụ cho thấy làm thế nào bạn sẽ chỉ mất mật khẩu 732 00:51:11,860 --> 00:51:14,850 và đặt nó trong một chuỗi hardcoded ngay, 733 00:51:14,850 --> 00:51:19,380 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ã 734 00:51:19,380 --> 00:51:22,360 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ã 735 00:51:22,360 --> 00:51:28,450 rằng họ đã cho là mã ví dụ, và bạn có một ứng dụng không an toàn. 736 00:51:28,450 --> 00:51:31,490 >> Và ở đây chúng tôi có một số ví dụ. 737 00:51:31,490 --> 00:51:35,840 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 738 00:51:35,840 --> 00:51:40,510 các dữ liệu ngay vào một URL được gửi. 739 00:51:40,510 --> 00:51:45,120 Đôi khi chúng ta thấy chuỗi mật khẩu = mật khẩu. 740 00:51:45,120 --> 00:51:49,060 Đó là khá dễ dàng để phát hiện, hoặc mật khẩu chuỗi trên BlackBerry và Android. 741 00:51:49,060 --> 00:51:53,680 Nó thực sự khá dễ dàng để kiểm tra bởi vì hầu như luôn luôn 742 00:51:53,680 --> 00:51:57,030 tên nhà phát triển biến đó là giữ mật khẩu 743 00:51:57,030 --> 00:52:02,290 một số biến thể của mật khẩu. 744 00:52:02,290 --> 00:52:05,200 Tôi nói rằng chúng tôi phân tích tĩnh tại Veracode, 745 00:52:05,200 --> 00:52:11,790 vì vậy chúng tôi đã phân tích hàng trăm các ứng dụng Android và iOS. 746 00:52:11,790 --> 00:52:15,160 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 747 00:52:15,160 --> 00:52:19,280 các lỗ hổng khác nhau, đặc biệt là các lỗ hổng tôi đã nói về, 748 00:52:19,280 --> 00:52:21,050 và tôi có một số dữ liệu ở đây. 749 00:52:21,050 --> 00:52:24,320 68,5% các ứng dụng Android, chúng tôi nhìn 750 00:52:24,320 --> 00:52:28,590 đã bị phá vỡ mã được mã hóa, 751 00:52:28,590 --> 00:52:33,240 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, 752 00:52:33,240 --> 00:52:38,980 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ố 753 00:52:38,980 --> 00:52:42,530 được trên nền tảng này nhưng làm cho họ theo cách như vậy 754 00:52:42,530 --> 00:52:46,680 rằng mật sẽ dễ bị tổn thương, 68.5. 755 00:52:46,680 --> 00:52:49,870 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ì 756 00:52:49,870 --> 00:52:53,730 họ nghĩ rằng đó là một ý tưởng tốt để làm kiểm tra an ninh. 757 00:52:53,730 --> 00:52:56,960 Đây là những người mà đã có thể nghĩ một cách an toàn, 758 00:52:56,960 --> 00:52:59,540 do đó, nó có thể còn tồi tệ hơn. 759 00:52:59,540 --> 00:53:02,690 >> Tôi đã không nói chuyện về việc kiểm soát dòng thức ăn phun. 760 00:53:02,690 --> 00:53:07,640 Đó 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. 761 00:53:07,640 --> 00:53:15,390 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ị. 762 00:53:15,390 --> 00:53:19,270 Chúng tôi thấy rằng trong 40% các ứng dụng. 763 00:53:19,270 --> 00:53:23,540 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, 764 00:53:23,540 --> 00:53:26,170 vì vậy tôi không nói về chuyện đó, nhưng chúng ta nhìn vào nó. 765 00:53:26,170 --> 00:53:28,750 23% có vấn đề SQL injection. 766 00:53:28,750 --> 00:53:32,020 Rất nhiều người không biết rằng rất nhiều ứng dụng 767 00:53:32,020 --> 00:53:35,880 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. 768 00:53:35,880 --> 00:53:40,430 Vâng, nếu dữ liệu mà bạn đang cầm trên mạng 769 00:53:40,430 --> 00:53:43,800 có chuỗi tấn công SQL injection trong nó 770 00:53:43,800 --> 00:53:45,970 ai đó có thể làm ảnh hưởng tới thiết bị thông qua đó, 771 00:53:45,970 --> 00:53:49,800 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, 772 00:53:49,800 --> 00:53:52,840 mà là một vấn đề dịch bệnh lớn. 773 00:53:52,840 --> 00:53:55,740 Chúng tôi tìm thấy nó 23% thời gian trong các ứng dụng di động 774 00:53:55,740 --> 00:54:02,030 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. 775 00:54:02,030 --> 00:54:05,580 >> Và sau đó chúng tôi vẫn thấy một số cross-site scripting, các vấn đề ủy quyền, 776 00:54:05,580 --> 00:54:09,400 và sau đó quản lý chứng chỉ, đó là nơi mà bạn có mật khẩu hardcoded của bạn. 777 00:54:09,400 --> 00:54:14,540 Trong 5% các ứng dụng chúng ta thấy rằng. 778 00:54:14,540 --> 00:54:17,970 Và sau đó chúng tôi có một số dữ liệu trên iOS. 779 00:54:17,970 --> 00:54:20,180 81% có vấn đề xử lý lỗi. 780 00:54:20,180 --> 00:54:23,130 Này là nhiều hơn một vấn đề chất lượng mã, 781 00:54:23,130 --> 00:54:28,010 nhưng 67% có vấn đề mã hóa, do đó không hoàn toàn là xấu như Android. 782 00:54:28,010 --> 00:54:32,440 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. 783 00:54:32,440 --> 00:54:35,420 Nhưng vẫn còn một tỷ lệ rất cao. 784 00:54:35,420 --> 00:54:39,040 Chúng tôi đã có 54% với rò rỉ thông tin, 785 00:54:39,040 --> 00:54:42,080 khoảng 30% với các lỗi quản lý bộ đệm. 786 00:54:42,080 --> 00:54:45,930 Đó là những nơi có khả năng có thể là một vấn đề tham nhũng bộ nhớ. 787 00:54:45,930 --> 00:54:50,350 Nó chỉ ra rằng đó không phải là nhiều vấn đề khai thác 788 00:54:50,350 --> 00:54:56,450 trên iOS bởi vì tất cả các mã đã được ký kết, 789 00:54:56,450 --> 00:55:02,210 nên rất khó cho kẻ tấn công thực thi mã tùy ý trên iOS. 790 00:55:02,210 --> 00:55:07,880 Mã chất lượng, thư mục traversal, nhưng sau đó thông tin quản lý ở đây tại 14,6%, 791 00:55:07,880 --> 00:55:09,250 nên tồi tệ hơn trên Android. 792 00:55:09,250 --> 00:55:13,240 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. 793 00:55:13,240 --> 00:55:15,790 Và sau đó các lỗi số và lỗi tràn bộ đệm, 794 00:55:15,790 --> 00:55:22,680 những người được nhiều hơn sẽ là vấn đề chất lượng mã trên iOS. 795 00:55:22,680 --> 00:55:26,110 >> Đó 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. 796 00:55:26,110 --> 00:55:29,540 Tôi không biết nếu có bất kỳ câu hỏi. 797 00:55:29,540 --> 00:55:33,220 [Nam] Một câu hỏi nhanh chóng xung quanh phân mảnh và các thị trường Android. 798 00:55:33,220 --> 00:55:36,240 Táo ít nhất sở hữu vá. 799 00:55:36,240 --> 00:55:40,780 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. 800 00:55:40,780 --> 00:55:44,280 Bạn gần như cần phải jailbreak điện thoại của bạn để ở hiện tại 801 00:55:44,280 --> 00:55:46,660 với việc phát hành hiện tại của Android. 802 00:55:46,660 --> 00:55:50,960 Vâng, đó là một vấn đề rất lớn và vì vậy nếu bạn suy nghĩ về- 803 00:55:50,960 --> 00:55:52,280 [Nam] Tại sao có thể không lặp lại nó? 804 00:55:52,280 --> 00:55:55,610 >> Oh, phải, vì vậy câu hỏi là những gì về sự phân mảnh 805 00:55:55,610 --> 00:56:00,410 của hệ điều hành trên nền tảng Android? 806 00:56:00,410 --> 00:56:05,890 Làm thế nào mà ảnh hưởng đến rủi ro của các thiết bị? 807 00:56:05,890 --> 00:56:09,700 Và nó thực sự là một vấn đề lớn bởi vì những gì xảy ra là 808 00:56:09,700 --> 00:56:15,110 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ị đó, 809 00:56:15,110 --> 00:56:19,960 về cơ bản đó là leo thang đặc quyền, và cho đến khi hệ điều hành được cập nhật 810 00:56:19,960 --> 00:56:25,350 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ị, 811 00:56:25,350 --> 00:56:30,200 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 812 00:56:30,200 --> 00:56:34,690 Google đã đưa ra hệ điều hành, và sau đó các nhà sản xuất phần cứng 813 00:56:34,690 --> 00:56:39,390 có tùy chỉnh nó, và sau đó vận chuyển có để tùy chỉnh nó và cung cấp nó. 814 00:56:39,390 --> 00:56:43,070 Về cơ bản bạn có 3 bộ phận chuyển động ở đây, 815 00:56:43,070 --> 00:56:47,210 và nó quay ra rằng các tàu sân bay không quan tâm, 816 00:56:47,210 --> 00:56:50,400 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ọ đủ 817 00:56:50,400 --> 00:56:54,430 để 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ó 818 00:56:54,430 --> 00:57:00,590 có hệ điều hành có những lỗ hổng leo thang đặc quyền trong họ, 819 00:57:00,590 --> 00:57:08,440 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 đề. 820 00:57:08,440 --> 00:57:10,350 >> Được rồi, cảm ơn bạn rất nhiều. 821 00:57:10,350 --> 00:57:12,310 [Vỗ tay] 822 00:57:12,310 --> 00:57:14,310 [CS50.TV]