「Python」はペネトレーションテスト担当者が学ぶのに適したプログラミング言語だと専門家は主張する。Python以外にも目を向けるべきコンピュータ言語や、学習を継続させるために重要なこととは。
実際にシステムに侵入して脆弱(ぜいじゃく)性を確認する「ペネトレーションテスト」(侵入テストとも)。ペネトレーションテストへのプログラミング言語「Python」活用を解説した書籍『Black Hat Python, 2nd Edition: Python Programming for Hackers and Pentesters』の著者であるジャスティン・サイツ氏とティム・アーノルド氏は、Pythonの有用性を主張する。両氏からのアドバイスをインタビュー形式で紹介しよう。
―― Python以外に初心者が学習すべきコンピュータ言語はありますか。
アーノルド氏 「JavaScript」はWebアプリケーションのテストでよく遭遇するスクリプト言語(簡易型プログラミング言語)なので、JavaScriptの知識があると重宝する。JavaScriptを学習するか、少なくともJavaScriptを読めるようになれば、問題点が分かるようになるはずだ。汎用(はんよう)的なプログラムの開発にはPython、Webアプリケーション開発にはJavaScriptを使用するとよい。
「Go」もお薦めだ。Goプログラムのソースコードをコンパイルすると、どのシステムでも実行可能なファイルを生成する。一方Pythonは、プログラムを実行するための実行環境をシステムにインストールしなければならない。
サイツ氏 ペネトレーションツール「Metasploit」のソースコードを抜粋してカスタマイズしようとしたときは、プログラミング言語「Ruby」の知識がなかったため少なからぬ苦戦を強いられた。Goを開発言語として採用するツールも増えてきた。とはいえペネトレーションテストと情報収集に関して、Pythonほど汎用性の高いプログラミング言語はない。
―― ペネトレーションテストまたはPythonの学習を継続するためのアドバイスをお願いします。
サイツ氏 練習を重ねること、セキュリティの競技大会「CTF」(Capture The Flag)に参加すること、リバースエンジニアリングやオンラインのセキュリティトレーニング教材「Hack The Box」に取り組むことだ。これらはどれもスキルを磨くのに役立つ。
―― お薦めのペネトレーションテスト用ツールはありますか。
サイツ氏 ペネトレーションテストで最も重要なのは、ツールではなくネットワークとOSに関する知識だ。「Windows」「Linux」といったOSでタスクが機能する仕組み、ネットワークにおけるデータの移動やフィルタリングの仕組みに関する基礎知識があれば、どのテストツールであっても使い方を理解できるだろう。
テストツールの学習から始める人は少なくない。だが、そうした人は実際に問題が発生するまで、問題が発生する理由を学びにくい。問題に遭遇した時点で、ようやく重要な知識を学ぶことになる。面白みのない難解な知識の習得から始めることは、つまらなくてもやはり重要だ。
米国TechTargetの豊富な記事の中から、最新技術解説や注目分野の製品比較、海外企業のIT製品導入事例などを厳選してお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.
クラウドメール環境への移行を機に、従来型セキュアメールゲートウェイベンダーからのリプレースを検討する組織は多い。そうした組織向けに、クラウドメール環境に特化したセキュリティベンダー選定に際し、求めるべき22の要件を紹介する。
クラウド利用が当たり前となった今日、セキュリティ対策もまたクラウド環境に適したものでなくてはならない。とはいえ、大量のデータポイントが生成されるクラウド領域にあって、その全てのポイントを網羅するのは並大抵のことではない。
ビジネスでのAPI利用が進むにつれ、そのAPIを標的としたサイバー攻撃も増加している。それらに対抗するためには、「シャドーAPI」や「ゾンビAPI」を洗い出し、セキュリティ対策を徹底する必要がある。その正しい進め方を解説する。
ある調査で企業の61%がセキュリティ優先事項のトップ3に挙げるほど、重要度が高まっているアイデンティティー管理・保護。その中で昨今注目されているのが「IGA」というアプローチだ。そのメリットや、導入方法を解説する。
DX推進によってさまざまなビジネスシーンでデジタル化が加速しているが、そこで悩みの種となるのがセキュリティの担保だ。リソースやコストの制限も考慮しながら、DXとセキュリティを両輪で進めるには何が必要になるのか。
いまさら聞けない「仮想デスクトップ」と「VDI」の違いとは
遠隔のクライアント端末から、サーバにあるデスクトップ環境を利用できる仕組みである仮想デスクトップ(仮想PC画面)は便利だが、仕組みが複雑だ。仮想デスクトップの仕組みを基礎から確認しよう。
「マーケティングオートメーション」 国内売れ筋TOP10(2025年5月)
今週は、マーケティングオートメーション(MA)ツールの売れ筋TOP10を紹介します。
「サイト内検索」&「ライブチャット」売れ筋TOP5(2025年4月)
今週は、サイト内検索ツールとライブチャットの国内売れ筋TOP5をそれぞれ紹介します。
「ECプラットフォーム」売れ筋TOP10(2025年4月)
今週は、ECプラットフォーム製品(ECサイト構築ツール)の国内売れ筋TOP10を紹介します。