2010/09/13

An ninh điện tử | Thuật Ẩn Ngữ (Steganography)

Phương thức, hay kỹ thuật ngụy trang một thông điệp gọi là steganography (tạm dịch là thuật ẩn ngữ). Trong khi sự mã hoá một thông điệp là nhằm để người ngoài không thể đọc được, mục đích của steganography là che che giấu bức thông điệp khi nó được truyền tải. Bạn có thể đã nghe đến mực vô hình hay, là viết một lá thư bằng nước chanh. Đây là những cách áp dụng trong lãnh vực stenography. Một ví dụ cổ điển trong lãnh vực này, là thông điệp bí mật được gửi bởi Herodotus circa năm 440 trước công nguyên khi ông đang bị giam giữ rất cẩn mật. Ông cạo đầu một nô lệ tín cẩn của ông, xăm chữ trên da đầu và chờ cho tóc của nô lệ đó mọc lên, nhờ vậy mà qua mặt được những người lính gác. Một phương pháp tương tự như vậy cũng được xử dụng bởi quân đội Đức ở đầu thế kỷ 20.

Khi những luật pháp quốc tế ngày càng kiểm soát những phương cách mã hoá thông tin phức tạp, chúng ta phải đối diện với vấn đề này:  ta phải gìn giữ thông tin cá nhân trong khuôn khổ luật pháp. Steganography thách thức người ngoài tìm ra một mật mã phức tạp, mà đơn giản chỉ ngụy trang nhằm qua mặt sự chú ý, nghi ngờ của kẻ ngoài.  Bởi vì không thể có được những điều luật cụ thể để xác định thế nào là một thông điệp steganography (vì quá đa dạng), nên luật pháp không cấm nổi steganography (ví dụ, những lời nhắn với nội dung ngụ ý điều gì là một dạng của steganography).  Một vài tiến triển lý thú trong lĩnh vực steganography sẽ được bàn đến ở chương này.

Có hai phương pháp steganography hiện nay. Môt là steganography số liệu.  Cách này là giấu một thông điệp giữa các giải số nhị phân của một hồ sơ điện tử. Phương pháp kia là steganography ngôn-ngữ; tức dùng ngôn ngữ thông thường để gửi đi những lời nhắn mang ý nghĩa bí mật.

Cách Steganography Ngôn-Ngữ (Linguistic Steganography)


Cách steganography ngôn-ngữ được sự chú ý gần đây. Bởi vì cấu tạo của cách này là ngụy trang thông tin, với sự trợ giúp của máy điện toán, và cách này phụ thuộc vào một kỹ năng duy nhất mà con người giỏi hơn máy: sử dụng và thông thạo ngôn ngữ.  Sự thấu hiểu các từ ngữ, và sử dụng chúng để truyền đạt một thông tin hữu ích, một câu chuyện cười, hay một hàm ý nào đấy vẫn luôn là một độc quyền trong tâm trí loài người, mà thế giới điện toán không cách nào sánh vai kịp.  Phần này sẽ giới thiệu đến bạn những ứng dụng trong lĩnh vực Steganography Ngôn Ngữ mà bạn có thể sử dụng để vượt thoát khỏi các hệ thống giám sát thông tin tối tân.  Xin lưu ý rằng Steganography không nhất thiết là một ngành khoa học và sơ xuất vẫn có thể xảy ra; cho nên bạn hãy sử dụng các ứng dụng một cách thận trọng, và thử nghiệm thật nhiều trước khi áp dụng cho trường hợp cấp bách.

Ngôn Ngữ là gì ?

Ngôn ngữ  là một loại mật mã; sẽ không ai hiểu chúng ta nói gì nếu người đó chưa học được ngôn ngữ của ta.  Những máy điện toán thì không thể học được ngôn ngữ.  Các phần mềm kích hoạt bởi âm thanh (voice recognition software) hoạt động được đơn giản vì nhận diện các tầng số (sống âm thanh) trong giọng nói của chúng ta rồi đối chiếu lại với những ký hiệu tương xứng trong một phần mềm khác đã được cài trong máy.  Dù chúng ta có cố gắng đến cở nào để dạy một ngôn ngữ cho một máy điện toán, thì sự thật phủ phàng vẫn là trí thông minh giả tạo (artificial intelligence) của máy vẫn không thể tiếp thu được như theo ý ta muốn. Vì vậy, cách Steganography ngôn-ngữ khai thác sự yếu kém này để vận hành.

Thuật Text Semagrams

Text semagrams là những thông điện được ẩn ý trong một đoạn. Những chữ viết hoa, viết thường, nhấn âm, dạng chữ đặc biệt, ô trống giữa các từ, vân vân có thể là những ký hiệu cho một thông điệp ẩn ý, nếu được quy định trước. Các thông điệp mà cần đến linh tính để hiểu được nằm trong dạng này.  Chúng rất hữu dụng khi bạn cần trao đổi một thông tin nhỏ.  Ví dụ, bạn thoả thuận trao đổi tin thời tiết ẩn ý với các đồng sự qua điện thư hàng ngày. Bản tin “trời hôm nay u ám” có thể đồng nghĩa với bạn đang bị nạn, và các đồng sự của bạn nên liền cấp tốc vận động quốc tế để can thiệp và giải vây cho bạn.


Thuật Viết Sai Chính Tả

Bởi vì những hệ thống giám sát thông tin điện tử được thiết kế để nhận diện những từ cụ thể, ta có thể trọng dụng điểm yếu này để qua mặt các hệ thông trên; bằng cách là viết một từ cực kỳ sai chính tả, nhưng vẫn giữ được nghĩa của từ đó.  Vì dụ, cụm từ “human rights,” nghĩa là nhân quyền có thể được cố tình viết sai chính tả như sau:

                                   hoomaine roites       umane reites       huumon writes

và nhiều hơn thế nữa. Trong khi cách này không hữu dụng cho những thông điệp dài, nhưng bạn có thể xử dụng nó để viết những từ mà bạn nghi nằm trong hệ thống sàng lọc.

Thuật Phiên Âm

Đa số các hệ thống giám sát và sàng lọc ở một quốc gia chú trọng nhận diện những ngôn từ địa phương.  Thỉnh thoảng, chúng được thiết kế để nhận dạng thêm các từ thông thường được xử dụng ngoài đời hay trên các trang web, bằng một ngôn ngữ khác (Anh, hay Pháp).  Một lần nữa, ta không thể nào biết chắc hệ thống sàng lọc được thiết kế ra sao, nhưng để dễ hiểu và tạo sự đa dạng khi qua mặt hệ thống này, bạn có thể xử dụng  phiên âm của các từ để tạo nên một thông điệp cụ thể. Ví dụ, cụm từ “human rights” có thề phiên âm ra thành “hưu mờn rài” (nhân quyền), hoặc “democracy” phiền âm ra thành “đề móc ra xi” (dân chủ). 

Thuật Biệt Ngữ

Một biệt ngữ trong lời nhắn của bạn có thể là vô nghĩa đối với người bên ngoài. Nhưng, nếu bạn đã có sắp đặt trước thì những thông điệp vô nghĩa kia lại trở thành rất ý nghĩa.  Ví dụ, câu “ấu đí anh tri ân di ủ chỉ” có nghĩa là “đấu tranh dân chủ” nếu bạn ghép vần như sau:  lấy vần đ trong từ “đí’ và ghép với từ “ấu” sẽ thành từ “đấu”, vần tr của từ “tri” với từ “anh” để thành từ “tranh”, vân vân.  Tóm lại, giới hạn của thuật biệt ngữ là sức sáng tạo và những từ bạn có thể xử dụng.

Thuật Ẩn Ngữ  (Covered Ciphers)
Ẩn Ngữ là phương pháp hoặc là cách bí mật để cải trang một thông điệp bằng một thông điệp có nội dung mở, bình thường khác. Thông điệp với nội dung mở, bình thường này gọi là carrier message, nghĩa là thông điệp đưa đò, bởi vì nó có vai trò đưa đò một thông điệp thật. Đôi khi, thuật ẩn ngữ bao gồm luôn những cách đơn giản như nhồi nhét một thông điệp vào những từ của thông điệp đưa đò kia.  Cái lợi của việc xử dụng cách này là ở chổ thông điệp đưa đò bề ngoài chỉ trông như một thông điệp bình thường trong giao tiếp bình thường, cho nên sẽ không khêu gợi sự hoài nghi về bất kỳ nội dung có ý nghĩa gì ở bên trong nó.

Hãy quan sát cách trang web sau đây ngụy trang thông điệp của bạn thành thông điệp rác (spam). Nếu bạn có được nối kết với Internet, hãy vào trang web www.spammimic.com/encode.shtml và đánh vào đấy thông điệp “Cứu tôi với”.

Thông điệp của bạn sẽ được cải trang thành y như thư rác như sau:

Bạn thân: Bạn đã có quyết định đúng đắn khi ghi danh vào danh sách điện thư này. Đây là bức thư nghìn năm một thủa, bạn không cần yêu cầu để được xoá khỏi danh sách này nếu bạn không muốn nhận thư nhừ vậy nữa. Thư này được gửi hợp pháp theo dự luật 216, Tựa I, Đoạn 302 của Thượng Viện Quốc Hội. Đây không phải là một âm mưu đề làm giàu!  Tại sao phải làm việc cho người khác khi bạn có thể làm giàu trong vòng 52 tuần. Bạn có khi nào nhận thấy rằng không một ai sẽ càng ngày càng trẻ, nhưng càng ngày càng nhiều người lướt mạng….

Lưu ý: Để giải mã thông điệp trên, hãy cho vào (bằng cách copy và paste nguyên văn) vào trang web:  www.spammimic.com/decode.shtml

Ở đây, thông điệp rác (spam message) được cải trang để chuyển giao một thông điệp tiềm ẩn bên trong nội dung của nó.  Lời văn trong thư rác được cấu tạo bởi một công thức do những ngôn từ hình thành, và nó có thể hoán đổi cho nhau tùy thuộc theo thông điệp của bạn. Nó bảo đảm thông điệp thật trong thư rác vẫn còn nguyên vẹn và đọc được sau khi đã được ẩn mình trong thư rác.

Bạn có thể tạo các thông điệp cho riêng bạn bằng cách xử dụng một công thức tiêu chuẩn nào đấy để giấu những thông điệp cụ thể vào những thư một bức thư rác, hoặc bằng một phương pháp nào khác mà nó cho phép bạn cất giấu một thông điệp cụ thể vào trong lời văn của thư rác.

Trong Tương Lai:
Tương lai của Ẩn Ngữ Học sẽ là phát triển phần mềm để cấu tạo những lời văn tuy rất dễ đọc, nhưng chứa đựng những thông điệp thật bên trong, bằng cách phối hợp và  xử dụng những ngữ vựng lạ, quen và những ngôn từ mơ hồ. Tuy nhiên, các chuyên gia chưa thể biết chắc máy điện toán có khả năng tạo nên những  lời văn ý nghĩa và ẩn những thông điệp thật của chúng ta vào những thông điệp đấy,  bằng cách xử dụng những ngữ thuật và ảnh thuật.


Thuật Ẩn Ngữ đối với Nhu Liệu (Data Steganography)
Sự xuất hiện của máy điện toán đã cho phép ta ẩn (cất giấu) thông điệp vào hình ảnh hoặc các hồ sơ âm thanh (sound files). Với đôi mắt thường, một bức ảnh chỉ là một bức ảnh, nhưng bên trong nó có thể là những nhu liệu mà cả một quyển sách cũng chứa không hết.  

Máy điện toán, chắc bạn đã biết, vận hành bằng ký hiệu nhị phân (binary). Điều đấy có nghĩa là mỗi một mẫu tự và chỉ thị đều được phân thành ký hiệu 1 và 0. Ví dụ ký hiệu nhị phân của mẫu tự A là:

                                                11101101

Thuở đầu, các kỹ sư điện toán thiết kế hệ thống nhị phân này để làm sao mỗi ký hiệu 1 hoặc 0 sau cùng tuyệt đối không ảnh hưởng đến giá định của mẫu tự đã được ấn định. Cho nên, nếu ký hiệu cuối cùng của thông điệp trên là 0 thay vì 1, thì máy ví tính vẫn hiểu thông điệp này là mẫu tự A, như sau:

11101100   

Ký hiệu cuối cùng, tức ký hiệu mà không ý nghĩa và không cần thiết, của tất cả những thông điệp nhị phân, có tên gọi Least Significant Bit (LSB), nghĩa là ký tự không đáng kể. Một phương pháp ẩn ngữ, dùng bởi các phần mềm ẩn ngữ nhu liệu, là phân chia một thông điệp ẩn giữa các ký tự LSB theo khuôn mẫu đã được định trước. Cách này sẽ không làm thay đổi ý nghĩa của thông điệp ẩn. Tuy nhiên, mức hạn chế của cách này là thông điệp ẩn phải thật, thật nhỏ so với thông điệp đưa đò (carrier message).

Thuật Ẩn Ngữ Trong Ảnh

Các ảnh điện tử (những ảnh hiện lên trên màn hình điện toán) đều được phân chia ra thành pixel-những chấm cực nhỏ, mỗi chấm với một màu cụ thể và khi chúng kết hợp lại sẽ tạo thành tấm ảnh mà đôi mắt của bạn nhìn thấy. Đối với các hình ảnh điện tử, những nhà ẩn ngữ học ẩn thông điệp cần thiết vào các LSB của từng pixel.  Điều này có nghĩa là đối với mắt người thì tấm ảnh, được kết thành bởi nhiều chấm với các sắc màu khác nhau, không thay đổi.  Nhưng, thông điệp ẩn bên trong có thể được truyền đạt và ghi nhận nếu bạn biết: a) bên trong tấm ảnh có thông điệp ẩn và b) bạn xử dụng một chương trình ẩn ngữ để giải mã giống như chương trình ẩn ngữ đã được xử dụng để mã hoá thông điệp ẩn kia.




Lưu ý: Những bức ảnh ẩn ngữ vẫn có thể bị phát giác. Mặc dầu đối với đôi mắt của con người, chúng không hề khác biệt so với ảnh thường, nhưng máy điện toán, nếu đươc cài đặt chương trình rà soát, vẫn có thể phát hiện những biến dạng tại các ký tự LSB. Vì lý do này, nhiều nhà an ninh chuyên môn nghi ngờ tính công dụng của thuật ẩn ngữ bằng phương pháp điện tử này. Những phương pháp khác, như mã hoá, cũng có thể được xử dụng để gia tăng an ninh cho thông tin. Có nhiều chương trình điện toán chẳng những cải trang thông điệp của bạn thành một tấm hình, mà còn sẽ mã hoá nó luôn. Như vậy, các nhà chuyên môn giải mã (những thông điệp ẩn) sẽ phải giải mã thêm một thông điệp đưa đò trong bức ảnh, trước khi tìm ra được thông điệp ẩn.

Thuật Ẩn Ngữ Trong Âm Thanh

Phương pháp ẩn ngữ cũng có thể áp dụng vào các hồ sơ âm thanh (audio file). Hãy lấy ví dụ là dạng MP3. Đây là cách ép (zip) một hồ sơ âm thanh bình thường thành kích thước nhỏ hơn.  Cách này được thực hiện bằng cách loại bỏ những sóng âm thành mà con người không thể nghe được :  Màn nhĩ con người chỉ có thể ghi nhận được âm thanh ở một phạm vi tầng số âm thanh nhất định. Thường, âm thanh thiên nhiên được lưu ở tầng số rất cao, bởi vì do những tầng số nhiễu âm, nhưng vì con người không nghe được nên không biết, cho nên việc xoá bỏ những nhóm tầng số nhiễu âm không cần thiết này sẽ không làm thay đổi chất lượng âm thanh một cách đáng kể. Âm thanh dạng MP3 được thực hiện bằng cách này.  Cho nên, phương pháp ẩn ngữ bằng âm thanh (audio steganography) được tiến hành bằng cách nạp thông điệp ẩn vào tầng số âm thanh mà con người không thể nghe (tức tầng số mà dạng âm thanh MP3 loại bỏ). Vì vậy màn nhĩ của con người không thể phân biệt giữa âm thanh có chứa thông điệp ẩn và âm thanh bình thường.

Đây là sơ đồ của tầng số âm thanh bình thường:



Còn đây là sơ đồ của tầng âm thanh trên, nhưng với một ẩn điệp bên trong:  


Tuy bạn có thể phát hiện sự khác biệt giữa hai tầng số âm thành khi nhìn vào sơ đồ, nhưng sẽ rất khó phân biệt sự khác biệt giữa hai âm thanh khi bạn nghe chúng.

Thuất Ẩn Ngữ Trong Lời Văn
Những phương pháp ẩn ngữ cũng có thể áp dụng vào các lời văn thường. Đôi khi, điều này được thực hiện bởi ẩn một thông điệp vào những khoảng trống giữa các từ. Thông điệp ẩn được phân chia giữa những LSB của các ký tự nhị phân tại những khoảng trống trong cả bài văn.  Một lần nữa, cách này bắt buộc thông điệp ẩn mà bạn muốn gửi đi phải ngắn hơn thông điệp đưa đò.  Bạn cũng có thể ẩn các thông điệp ở dạng PDF hoặc ở các dạng khác, tùy theo bạn muốn dùng chương trình ẩn ngữ nào.

Phần Mền hổ trợ Ẩn Ngữ (Steganography software)
Hiện nay có đến hàng trăm chương trình ẩn ngữ khác nhau để phục vụ công việc ẩn ngữ trong nhu liệu, âm thanh, và lời văn. Mỗi phần mềm có phương pháp riêng biệt để sắp xếp thông điệp ẩn của bạn vào trong thông điệp đưa đò. Một vài phần mềm quen thuộc được biết đến là jphide và jpseek. Hãy vào các link này:
 (http://linux01.gwdg.de/~alatham/stego.html), mp3stego (http://www.petitcolas.net/fabien/steganography/mp3stego/), hoặc
sản phẩm thương mại Steganos Security suite (http://www.steganos.com). Bạn cũng có thể tìm thêm nhiều sản phẩm nữa tại  http://www.stegoarchive.com/.

Cách Phát Hiện Tin Nhắn Ẩn
Steganalysis là kỹ thuật phát hiện ra tin nhắn ẩn trong thông tin (steganography).  Mặc dù máy điện toán có thể dễ dàng phát hiện ra nội dung có ẩn tin nhắn, nhưng trước hết máy phải có được lập trình sẵn để dò tìm.  Lợi điểm của việc ẩn tin nhắn bắt nguồn từ nguyên tắc ‘mò kim đáy biển’. Hằng ngày có hàng triệu hình ảnh, tài liệu MP3 và văn kiện không mã hóa được phát tán khắp nơi trên mạng. Các hình ảnh, tài liệu và văn kiện này không làm cho các cơ quan theo dõi nghi ngờ, và khác với thông điệp đã được mã hóa, không được lưu lại để phân tích.  Khi gửi nhiều ảnh qua mạng, bạn có thể ẩn tin nhắn vào một tấm ảnh.  Khi chia sẻ một bộ sưu tầm nhạc với bạn bè qua mạng, bạn có thể ẩn tin nhắn ngắn vào một bản nhạc.  Bạn có thể hình dung rằng việc dò tìm tin nhắn bị ẩn từ số lượng thông tin khổng lồ được tán phát trên Internet là một việc bất khả thi.

Nguyên tắc ‘mò kim đáy biển’ chỉ có hiệu quả nếu có ‘đáy biển’. Nếu bạn thường xuyên chia sẻ ảnh và nhạc yêu thích cho người quen qua mạng, thì khi bạn chỉ gửi thêm một hình ảnh hoặc bài nhạc, tin nhắn ẩn càng không bị để ý.  Đừng dùng hình ảnh phổ biến hoặc ‘lạc quẻ’. Đừng tải ảnh từ mạng về và ẩn tin nhắn vào trong ảnh (tin tặc có thể tải về đúng ảnh đó và so sánh hai ảnh bằng điện tóan). Tóm lại, đừng để lộ việc bạn ẩn tin nhắn qua hành động bất thường.  Hãy thiết lập một hình thức liên lạc và lâu lâu mới ẩn tin nhắn. Không nên bị phụ thuộc vào kỹ thuật ẩn tin nhắn để bảo đảm an toàn liên lạc. Cho dù bị tin tặc phát hiện ra tin nhắn ẩn, họ cũng không đọc được nội dung.  Hãy gia tăng an toàn của tin nhắn bằng cách mã hóa nó trước khi ẩn vào dữ liệu truyền thông. 




 


1 comment: