ソースコードに脆弱性を潜ませられるUnicode悪用攻撃法「Trojan Source」を研究者が発表
英ケンブリッジ大学コンピュータ研究所は11月1日(現地時間)、「Trojan Source:Invisible Vulnerabilities」(リンク先はPDF)という論文を公開した。Trojan Sourceは、「人間のコードレビュアーには見えないターゲットを絞った脆弱性を作成するためのクールな新トリック」という。
研究者のロス・アンダーソン氏は、「Unicodeの方向性オーバーライド文字を使って、コードを別のロジックのアナグラムとして表示するこの攻撃は、C、C++、C#、JavaScript、Java、Rust、Go、Pythonに対して機能することを確認しており、他のほとんどの言語に対しても機能すると思われる」と説明する。
「人間が見るのと異なるロジックをコンパイラに示せるように、ソースコードファイルのエンコーディングを操作する方法を発見した」。コメントや文字列に埋め込まれた制御文字を使うことで、攻撃者はソースコードを並べ替え、悪用可能な脆弱性を生み出す方法でロジックを変更できる。
論文では2つの方法を紹介している。1つは双方向テキストのUnicodeコントロールを使ってコンテンツが表示される方向を変え、コード作成者が意図するのとは異なるロジックを生成する方法。これについてはRustが「CVE-2021-42574」としてセキュリティアドバイザリを公開した。
もう1つはホモグリフ攻撃と呼ばれる攻撃で、数字の「0」と文字の「O」、「l」と「I」など、人間の目には区別のつきにくい文字を使うことで、コードを2つの異なる関数として扱うというもの(CVE-2021-42694)。
Trojan Sourceを防御する方法として、Unicodeをサポートするコンパイラ、インタプリタ、ビルドパイプラインで、コメントや文字列リテラル内の終了していない双方向制御文字や混合スクリプトの紛らわしい文字を含む識別子にエラーや警告を投げることと説明している。言語仕様では、コメントや文字列リテラルでの終了していない双方向制御文字を正式に禁止する必要があるという。コードエディタとリポジトリプロントエンドは、双方向の制御文字と混合スクリプトの識別の難しい文字を視覚的な記号や警告で認識できるようにする必要があるとも指摘している。
研究者らは発見したTrojan Sourceの攻撃を受ける可能性のある製品について、19社のサプライヤーに7月25日に通知し、99日間の開示猶予を設定した。開示までに9社がパッチのリリースを約束したという。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
こんなメディアも見られています
ITmedia NEWSに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
SpecialPR
本日の新着記事
アクセスランキング
-
1
なぜ酒蔵の許諾なしに? 「VTuberコラボ日本酒」騒動、主催者が経緯説明 仲介者による調整で「準備進んでいると認識」
-
2
かっぱ寿司「配布前のコラボグッズ、フリマで買わないで」 プリキュアコラボ発表日に注意喚起
-
3
「食事量は1日1200kcal以下、でも肥満」な人を14日間追跡調査 痩せない理由は……米コロンビア大などの研究
-
4
本物そっくり“AI生成レシート“が経費精算の脅威に マネフォ「自力で見破るのは難しい」 企業はどう備える?
-
5
「菜の花がおかしい」――イラストレーター制作うたうマラソン大会ポスターに指摘相次ぐ 事務局がAI使用明かす【訂正あり】
-
6
「ペンギンを返して」→「3匹全部採用して」 批判殺到のSuica新キャラ、ファンアートが空気を変えた? SNSの声
-
7
藤井風のリサイタル、公式サイトがインターネット老人会すぎると話題 公民館のチラシみたいだけど東京ドーム開催
-
8
幻の「ちいかわ」コラボ第3弾皿、捨てちゃうの? くら寿司に聞いてみた
-
9
早すぎる 「めっちゃカメレオン」Switch 2版、即日10万本突破
-
10
デジタル庁に不正アクセス、個人情報24.6万件漏えいか 各府省庁の職員情報など
ITmedia NEWS SNS
インフォメーション
注目情報をチェック
ITmediaNEWSをフォロー
あなたにおすすめの記事PR