ESETは2023年このほど、「5 of the most popular programming languages in cybersecurity」において、セキュリティ分野で使用されているプログラミング言語について紹介した。セキュリティ分野においてプログラミング技術が明確に要求されているわけではないが、少なくともこれら言語の基本は理解しておく必要があると説明している。

  • 5 of the most popular programming languages in cybersecurity

    5 of the most popular programming languages in cybersecurity

ESETはセキュリティ分野で使用されているプログラミング言語として、次の5つを挙げている。

Python

ツールとライブラリの豊富なコレクション、使いやすさ、ほかのプラットフォームやテクノロジーとの互換性、活発な開発者コミュニティの存在などがある。サイバーセキュリティの分野では最も広く使用されており、反復タスクの自動化、監査、フォレンジック分析、マルウェア分析によく使用される。比較的単純で習得しやすいプログラミング言語とされる

PHP

Web開発で最も使用されているプログラミング言語。サイバーセキュリティ分野においては、Webアプリケーションの分析、SQLインジェクションやクロスサイトスクリプティング(XSS: Cross-Site Scripting)などの脆弱性の検索などに利用されている。カスタマイズされたWebインタフェースの作成や、さまざまなセキュリティ機能をコントロールパネルに統合することが可能

JavaScript

Webサイト、モバイルアプリケーション、ゲームなどさまざまなアプリケーションの開発に広く使用されている。サイバーセキュリティの分野ではマルウェア分析などに使用される。攻撃者はサイバーセキュリティ分析の作業を複雑化させるため、またはセキュリティソリューションの検出を避けるため高度に難読化したJavaScriptで書かれた悪意のあるコードを拡散することが多いとされる

Structured Query Language(SQL)

プログラミング言語ではないが、リレーショナルデータベース(RDB: Relational Database)のクエリー言語の動作をよく理解することは、コードセキュリティ監査やペネトレーションテストを実行する際に役に立つスキルとなる。管理者も開発者もデータベーステーブルに格納されている情報を扱うためにはSQLクエリの知識が必要で、SQLインジェクションなどの不具合を特定して修正するためにも必要となることがある

PowerShell

主にWindowsオペレーティングシステムで利用されるスクリプト言語で、LinuxおよびmacOS上でも動作する。構成管理やタスクの自動化によく利用される。フォレンジック分析では情報の取得やセキュリティ侵害時の脅威アクタの侵入経路分析に役立つとされる

プログラミング言語はほかにも数多く存在し、C、C++、Java、Bash、Go、Rubyなどがサイバーセキュリティ分野でも利用されている。これらは上記のプログラミング拳固に比べて習得が難しい傾向にあるが、より高度な人材を目指す場合は習得も選択肢となり得る。ESETはこれら言語についても今後同様に取り上げて解説する予定としている。