セキュリティ担当者がよく使う5つのプログラミング言語、何が役立つのか?:ESETのリサーチャーがレビュー
セキュリティ企業のESETが、サイバーセキュリティ分野で最も使用されている5つのプログラミング言語をレビューした。それぞれの主な利点とは。何のためにどう使われているのか。
セキュリティ企業のESETは2023年9月27日(米国時間)、同社のリサーチャーや研究者の知見を掲載する公式ブログ「WeLiveSecurity」で、サイバーセキュリティ分野で最も使用されている5つのプログラミング言語をレビューし、それぞれの主な利点に焦点を当てるエントリを公開した。以下、その内容を要約する。
CやC++、Java、Bash、Go、Rubyなど、サイバーセキュリティで広く使用されているプログラミング言語は他にもあるが、今回は以下の5つをレビューする。
Python
Pythonは、ツールとライブラリの広範なコレクション、使いやすさ、他のプラットフォームや技術との互換性、さらには活発な開発者コミュニティーがあることで知られている。これらによって、サイバーセキュリティ分野で広く使われているプログラミング言語となり、反復的なタスクの自動化、監査、フォレンジック分析、マルウェアの分析によく使用される。
スクリプト言語として、マルウェアを分析してそこから情報を抽出したり、その構成を解読したり、その他の低レベル分析を実行したりするなど、特定の問題を解決するのに役立つ。
PHP
PHPはWeb開発で一般的に使用されているが、サイバーセキュリティにも適用できる。例としては、PHPベースのWebアプリケーションの分析や、SQLインジェクションやクロスサイトスクリプティング(XSS)などの脆弱(ぜいじゃく)性の検索が挙げられる。
PHPは、ログを分析してWebアプリケーションやWebサーバの不審な動作を特定し、セキュリティ侵害や、セキュリティ侵害を示す可能性のある動作パターンを探すのにも役立つ。
他の言語でもセキュリティツールを開発できるが、PHPを使うと、Webユーザーインタフェースをカスタマイズして作成したり、さまざまなセキュリティ機能をコントロールパネルに統合したりすることもできる。
JavaScript
「JS」という略称でも知られるJavaScriptは、インタープリタ型のオブジェクト指向のスクリプトプログラミング言語だ。Webサイト、モバイル、ゲームといったアプリケーションの開発に広く使われている。
Webアプリケーションのセキュリティ(および関連する脆弱性)を調べたい場合、JavaScriptをよく理解することが、セキュリティ担当者のキャリアにとって重要になる。
サイバーセキュリティの分野では、マルウェア分析、つまり悪意のあるファイルや Webサイトで見つかったコードの分析に使える。物理コンピュータの侵害の可能性を回避するために仮想マシンまたは隔離された環境でも使用できる。スクリプトが実行されるとすぐに呼び出される関数を作成することもできる。
攻撃者は、セキュリティアナリストの作業を複雑にするために、またセキュリティソフトウェアによる検出を回避するために、高度に難読化したJavaScriptで開発された悪意のあるコードを拡散することがよくある。
SQL
SQLは、リレーショナルデータベースのクエリ(参照)と更新に広く使用されている。管理者も開発者も、データベーステーブルに格納されているデータの取得、更新、削除といった目的でSQLクエリを作成する。
SQLは汎用(はんよう)プログラミング言語ではないが「このクエリ言語によって、リレーショナルデータベースがどのように動作するか」をよく理解することは、コードセキュリティ監査やペネトレーションテスト(侵入テスト)の担当者にとって役立つスキルとなる。
SQLの知識は、アプリケーションやシステムへの不正アクセスや機密データの盗難につながる可能性があるアプリケーションコード内のセキュリティ上の欠陥を見つけるのに役立つ。
SQLインジェクションはWebアプリケーションに対する最も頻繁な攻撃の一つだ。セキュリティ担当者はペネトレーションテストなどによって、SQLインジェクションの原因を特定して修正する必要がある。
PowerShell
PowerShellは構成管理やタスクの自動化によく使われるので、Windows OSが普及している環境では、セキュリティ担当者にとって優れた選択肢となる。
フォレンジック分析において、情報を取得したり、「セキュリティ侵害時に攻撃者がどのようにしてシステムに侵入したか」を把握したりする上で役立つ。
PowerShellに関する知識は、エクスプロイトの実行、サービススキャン、マルウェア分析など、ペネトレーションテストにも生かせる。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
サイバー犯罪者も「ChatGPTを使ってコーディング」をしている チェック・ポイント
チェック・ポイント・ソフトウェア・テクノロジーズは脅威アクターがOpenAIのChatGPTを悪用して悪質なコードを生成していることを、実例のサンプルとともに公開した。AIの悪用がサイバー犯罪の新たなトレンドになりつつあることを警告している。ソフトウェア開発で気を付けたい脆弱性トップ25 3位は「SQLインジェクション」 2位は「XSS」 1位は?
MITREは、ソフトウェアにおいて危険な脆弱性タイプの1位〜25位をまとめた「CWE Top 25」を発表した。多数のWebサイトにJavaScriptプロトタイプ汚染の脆弱性あり、セキュリティ研究者が発見
サイバーセキュリティツールベンダーのPortSwiggerは、セキュリティ研究者「s1r1us」氏のブログで発表された調査報告を紹介した。広く使われている18のJavaScriptライブラリに、プロトタイプ汚染の脆弱性があることが明らかになったという。