プログラミング言語に潜む脆弱性がアプリを危険にさらす?--研究者報告

Liam Tung (ZDNET.com) 翻訳校正: 編集部

2017-12-12 11:31

 セキュアな開発手順に従って構築されたソフトウェアであっても、使用するインタープリタ型プログラミング言語に存在する脆弱性によって、悪用可能なアタックサーフェスができあがってしまう場合もあるという。

 この見解は、ロンドンで現地時間12月4~7日にかけて開催された「Black Hat Europe 2017」カンファレンスにおいて、IOActiveの研究者であるFernando Arnaboldi氏が発表したものだ。同氏によると、人気の高い5つのプログラミング言語が使用するインタープリタに深刻な脆弱性が存在しており、解釈/実行されるアプリケーションに危険をもたらしているという。

 Arnaboldi氏が発見した脆弱性の一例を挙げると、Pythonには「OSコマンドの実行に使用できる、ドキュメント化されていないメソッドとローカル環境変数が存在している」というものがある。また、JavaScriptインタープリタ環境の1つである「NodeJS」は出力するエラーメッセージを通じてファイルの内容を流出させる可能性があり、RubyのJava実装である「JRuby」では「リモートでのコード実行用として設計されていない関数がリモートコードのロードと実行を許してしまう」という。

 同氏はこれらの脆弱性について、ソフトウェア開発の簡素化を目指したが故に生み出された可能性もあるとしている。

 同氏はホワイトペーパーに「こういった脆弱性は最終的に、問題のあるインタープリタによって解釈/実行される一般アプリケーションに影響を及ぼす。しかし、その対処はインタープリタ側でなされるべきだ」と記している。

 また同氏は「インタープリタ方式での実行を念頭に置いたプログラミング言語の脆弱性に関して述べると、ソフトウェア開発者はアプリケーション内に、設計者が予見できないかたちで使用できるようなコードを知らず知らずのうちに含めてしまう可能性がある。これにより、厳格なガイドラインに従って開発されているアプリケーションであってもセキュリティ上のリスクがもたらされる場合もある」とも記している。

 同氏は、自ら作成したテストツール「XDiFF」を用いて、さまざまなプログラミング言語における複数のインタープリタをテストし、これらの脆弱性を発見したという。

 JavaScriptについては、対象となった処理系には、Googleの「Google V8 JavaScript Engine」や、Microsoftの「ChakraCore」、Mozillaの「SpiderMonkey」のほか、「NodeJS」と「Node-ChakraCore」が含まれている。

 また同氏は、PHPについては「PHP」と「HipHop Virtual Machine」(HHVM)のテストを、Rubyについては「Ruby」と「JRuby」のテストを実施しているほか、「Perl」や「ActivePerl」「CPython」「PyPy」「Jython」のテストも実施している。

 同氏が指摘しているように、アプリケーションはプログラミング言語の特定の機能を用いることでセキュリティ問題の影響を受ける可能性がこの研究によって示されている。

 「さまざまな実装には、セキュアなアプリケーションに影響を及ぼせるような、悪用できる可能性が数多く存在している」(Arnaboldi氏)


提供:Getty Images/iStockphoto

この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。

ZDNET Japan 記事を毎朝メールでまとめ読み(登録無料)

ホワイトペーパー

新着

ランキング

  1. セキュリティ

    KADOKAWAらの事例に学ぶ、2024年サイバー攻撃の傾向と対策

  2. セキュリティ

    MDMのよくある“12の悩み”を解決!Apple製品のMDMに「Jamf」を選ぶべき理由を教えます

  3. ビジネスアプリケーション

    生成AIをビジネスにどう活かす?基礎理解から活用事例までを網羅した実践ガイド

  4. セキュリティ

    セキュリティ担当者に贈る、従業員のリテラシーが測れる「情報セキュリティ理解度チェックテスト」

  5. セキュリティ

    「100人100通りの働き方」を目指すサイボウズが、従業員選択制のもとでMacを導入する真の価値

ZDNET Japan クイックポール

所属する組織のデータ活用状況はどの段階にありますか?

NEWSLETTERS

エンタープライズコンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]