Nguy cơ về bảo mật từ các tivi thông minh
Sách trắng của công ty bảo mật Codenomicon đã cho biết, họ đã sử dụng giải pháp kiểm thử fuzzy để kiểm tra Smart TV của 6 hãng khác nhau và kết quả là các sản phẩm này đều có lỗ hổng về an toàn trong ít nhất 2/6 giao thức trao đổi thông tin được kiểm nghiệm (thậm chí có loại Smart TV chỉ qua được 1 bài test). Giao thức DVB (digital video broadcasting) – giao thức truyền nhận tín hiệu truyền thống (có từ những TV thế hệ cũ) cũng có lỗ hổng bảo mật và Smart TV của cả 6 hãng sản xuất được kiểm tra đều không qua được bài kiểm tra liên quan đến giao thức này.
Như vậy, những chiếc TV cổ điển cũng có lỗ hổng bảo mật, chỉ có điều chúng ta chưa biết mà thôi. Tại hội thảo BlackHat USA 2013 (Mỹ), hai chuyên gia SeungJin Lee và Seungjoo Kim của đại học Korea University (Hàn Quốc) đã trình bày tương đối chi tiết về những lỗ hổng bảo mật lớn của Smart TV và viễn cảnh bị tấn công do họ mô tả có thể khiến cho không ít người dùng lo ngại.
Do thiếu các nghiên cứu chi tiết về bảo mật Smart TV nên người dùng khó có thể nhận ra mối đe dọa này. Dưới góc độ công nghệ, Smart TV có thể coi như một phiên bản “khổ lớn” của chiếc điện thoại thông minh (Smart phone). Có thể coi chúng là phép cộng của máy tính cá nhân và TV (với camera và cảm ứng giọng nói tích hợp, thiết bị mạng không dây, bluetooth,...), với CPU, hệ điều hành trên nền Linux (hay hệ điều hành nhúng khác). Với quy trình khởi động, quản lý tiến trình và thực thi lệnh giống như máy tính cá nhân, việc Smart TV có thể bị hack và lợi dụng là không tránh khỏi.
SeungJin Lee và Seungjoo Kim đã chỉ ra những phương án tấn công các loại Smart TV nói chung (không phải của một hãng cụ thể) của tin tặc và thực hiện thành công một số kiểu tấn công.
Các dạng tấn công vào Smart TV
Tấn công thông qua các ứng dụng
Trước hết, thông qua “chợ ứng dụng”, cũng gần giống như chợ ứng dụng cho smart phone, các lập trình viên có thể phát triển ứng dụng cho Smart TV, ví dụ như các ứng dụng đọc tin, trò chơi hay gọi điện thoại IP. Một số hãng không cho phép lập trình viên sử dụng các ngôn ngữ như C/C++ mà chỉ chấp nhận HTML/Javascript/Flash, điều đó làm giảm bớt nguy cơ về an ninh. Như thế, tin tặc không thể dùng các ứng dụng để gọi trực tiếp các lệnh của hệ thống cũng như truy cập trực tiếp các tài nguyên (như hệ thống tệp), nhưng chúng vẫn có thể lợi dụng các lỗi bảo mật của trình duyệt và Flash, các lỗi trong SDK của nhà sản xuất và các bộ cài đặt ứng dụng. SDK của nhà sản xuất tạo ra sự “tiện lợi” cho các nhà phát triển ứng dụng và cả giới tin tặc. SDK cung cấp các tính năng như đọc/ghi tệp, tải xuống và tải lên mạng, còn các API kiểm soát màn hình, kiểm soát ứng dụng và các tính năng cơ bản của TV. Mặc dù các API quan trọng đều có công đoạn kiểm tra an ninh, nhưng rất khó đảm bảo an ninh cho hàng trăm API khác nhau. Điều đó vừa khó thực hiện vừa không bao quát hết tất cả các trường hợp cần thiết. Người ta có thể kiểm tra rất cẩn thận trong các API truy xuất tệp nhưng ít ai nghĩ đến việc bảo vệ các hàm điều khiển âm thanh. Hơn thế nữa, do tất cả các ứng dụng trên Smart TV đều chạy với quyền root nên chỉ cần tìm ra một lỗi API là tin tặc có thể truy cập các lệnh của hệ thống.
Với các thông tin về firmware từ hãng Samygo (dù firmware được các công ty sản xuất TV mã hóa nhưng Samygo lại có mật khẩu của nhiều dòng firmware khác nhau), hai chuyên gia Hàn Quốc đã lấy được các tệp mã nhị phân của hệ thống để từ đó phân tích, tìm kiếm lỗ hổng bảo mật. Lỗi đầu tiên mà họ phát hiện được là cách chương trình cài đặt ứng dụng phân tích tệp XML. Tệp XML chứa: tên ứng dụng, tiêu đề,… và quan trọng nhất là URL cùng với bản nén của ứng dụng. Chương trình cài đặt ứng dụng thường sẽ kiểm tra và loại bỏ một số ký tự, nhưng vẫn để sót và tạo ra lỗi. Lỗi thứ hai nằm ở đoạn mã tạo thư mục cho ứng dụng. Nó dùng hàm strcat() và vì thế tạo ra cơ hội xuất hiện lỗi tràn bộ đệm ngăn xếp. Còn có rất nhiều lỗi bảo mật nằm ở các API có xử lý chuỗi và nhiều lỗi ẩn giấu trong các lệnh của hệ thống bị phát hiện.
Tấn công thông qua các website xấu, các ứng dụng kiểu Facebook
Cùng với những tính năng mới của Smart TV, rất nhiều lỗ hổng xuất hiện và những kiểu tấn công truyền thống trên PC vẫn còn nguyên giá trị, chẳng hạn như thông qua các lỗ hổng của trình duyệt. Việc vá lỗ hổng bảo mật cho các hệ thống nhúng tương đối khó khăn và trình duyệt sử dụng các webkit, flash nên chúng đều nhanh chóng lạc hậu (vì không được cập nhật). Do đó, việc lướt web trên TV cũng xuất hiện các nguy cơ về bảo mật giống như lướt web trên các máy tính thế hệ cũ.
Lỗ hổng từ các tiến trình mạng chạy ngầm
Hai chuyên gia bảo mật đã tìm thấy khoảng 10 tiến trình tcp/udp chạy ngầm, trong đó, nhiều tiến trình có chức năng xác thực và cung cấp các tính năng cao cấp cho người dùng, kết nối bluetooth, lấy khóa công khai, giải mã RSA, gửi khóa sau khi giải mã AES,... nhưng chỉ có một vài lệnh đòi hỏi xác thực. Ngoài ra, còn có nhiều lỗi xử lý bộ nhớ trong các lệnh mã hóa. Không chỉ có thế, đoạn mã cập nhật ứng dụng cũng chứa lỗi và không mã hóa các thông tin xác thực khi truyền nhận.
Ngoài ra, trên lý thuyết, tin tặc có thể tấn công Smart TV bằng những cách đơn giản như thử các tổ hợp nút khác lạ trên điều khiển từ xa, lợi dụng cổng USB và các cổng giao tiếp khác. Tuy nhiên, đến nay người ta vẫn chưa tìm ra một lỗ hổng nào kiểu này.
Tin tặc có thể làm gì nếu chúng nắm quyền kiểm soát Smart TV?
Nếu nắm quyền kiểm soát TV, tin tặc có thể làm mọi việc như trên PC. Ngoài việc kiểm soát các chương trình truyền hình, chúng có thể ghi lại các phím được nhấn, sao chép màn hình TV, theo dõi các thông tin truyền nhận và ăn cắp thông tin tài chính (nếu có).
Vì Smart TV thường có gắn camera, nên sau khi chiếm quyền kiểm soát, tin tặc có thể theo dõi người dùng một cách dễ dàng. Hơn nữa, TV luôn được nối với nguồn điện nên không xảy ra tình trạng hết pin như điện thoại di động và hình ảnh ghi nhận không bị nhòe, có thể giúp tin tặc theo dõi những người thân của bạn và thâm nhập đời tư.
Một công ty sản xuất Smart TV (đã bị 2 chuyên gia chứng minh là có thể bị hack) từng nói với ZDNET Korea rằng: kẻ xấu có thể lợi dụng TV để chụp ảnh, nhưng khi người dùng đã tắt máy thì chúng sẽ không thể làm việc đó. SeungJin Lee và Seungjoo Kim cho rằng họ có thể làm mọi thứ khi đã nắm được quyền kiểm soát của nó, vì Smart TV cũng giống như một chiếc máy tính thông thường và họ đã chứng minh điều đó bằng hành động cụ thể. Trước hết, họ tìm hiểu quy trình thực hiện việc bật/tắt TV. Khi người dùng nhất nút “power”, TV thực hiện các bước sau: tắt màn hình, tắt tiếng, tắt một số tiến trình. Với một chỉnh sửa nhỏ về phần mềm, hai chuyên gia đã làm cho người dùng tin rằng TV đã tắt (trừ việc đèn LED còn vẫn bật và điều đó có thể khiến người dùng sinh nghi. Để tắt đèn LED, các chuyên gia đã thực hiện một đoạn mã phần mềm, vì vậy, người dùng không thể biết là TV thực chất chưa tắt (vẫn có rootkit chạy ngầm).
Như vậy, khi người dùng nhấn nút bật TV, một mã phần mềm rootkit sẽ bật lại đèn LED và khởi động nhanh TV. Màn hình, âm thanh và các tiến trình của tivi “sống lại” rất nhanh. Vì thế, khi thấy Smart TV bật lên nhanh hơn bình thường thì người dùng cũng phải lưu ý.
Đến đây, các chuyên gia bảo mật Hàn Quốc lại phải tìm cách tạo được kênh thực hiện các lệnh hệ thống (shell) có khả năng “sống sót” qua những quy trình khởi động lại (khi người dùng bật tivi). Việc tìm các thư viện các tệp có đuôi .so được tải bởi các chương trình trong phân vùng cho phép ghi khá dễ dàng. Họ chỉ cần “câu” hàm sys_open() và kiểm tra xem có lỗi “No such file or directory” nào được các thư viện các thư mục đuôi .so trả về hay không. Hai chuyên gia đã tìm thấy một vài thư viện “vừa ý” họ. Chúng được tải bởi bộ nạp trình duyệt - ứng dụng được thi hành khi khởi động TV, nhưng lại xuất hiện một rào cản, đó là dịch vụ ngầm có tên User Executable Preventer do nhà sản xuất cài đặt để kiểm tra và xóa các tệp không phải do chính hãng ký số. Hai chuyên gia không mất nhiều thời gian để tìm ra cách đối phó. Nhận thấy Preventer cần một khoảng thời gian quét toàn bộ các thư mục nên không thể xóa tệp “gian” ngay lập tức, họ đã thực hiện “kill” Preventer trước khi nó kịp làm nhiệm vụ của mình, tuy nhiên, những tin tặc thực thụ có thể sẽ “mò” ra cách làm đó.
Sau khi tạo được gián điệp nằm vùng trong Smart TV, việc tiếp theo của hacker là học cách sử dụng camera. Thay vì học từ các API do nhà sản xuất camera cung cấp, SeungJin Lee và Seungjoo Kim đã dịch ngược chương trình camera trong tivi để học hỏi, nhằm đảm bảo chương trình do thám của họ có thể chạy suôn sẻ và đã tìm ra quy trình hoạt động của camera TV.
Tiếp tục dịch ngược để tìm hiểu chương trình của Smart TV rồi chỉnh sửa nó bằng cách câu móc các hàm có sẵn, hai chuyên gia đã có thể ghi lại mọi hình ảnh, lưu lại và gửi đến địa chỉ của mình hay thậm chí là xem trực tuyến.
Nhưng việc bị theo dõi bởi Smart TV của mỗi cá nhân có thể vẫn chưa phải là điều nguy hiểm nhất với người dùng.
Với việc, sử dụng những API có sẵn cho phép hiển thị phim, hình ảnh và văn bản trên TV, tin tặc có thể dễ dàng phát tán thông tin đến hàng loạt người xem truyền hình. SeungJin Lee và Seungjoo Kim đã thực hiện demo để chứng tỏ khả năng hiển thị các dòng tin nóng chạy trên nền các chương trình truyền hình và hứa sẽ công bố mã nguồn sau khi hội nghị kết thúc.