ラック・セキュリティごった煮ブログ

セキュリティエンジニアがエンジニアの方に向けて、 セキュリティやIT技術に関する情報を発信していくアカウントです。

【お知らせ】2021年5月10日~リニューアルオープン!今後はこちらで新しい記事を公開します。

株式会社ラックのセキュリティエンジニアが、 エンジニアの方向けにセキュリティやIT技術に関する情報を発信するブログです。
(編集:株式会社ラック・デジタルペンテストサービス部)

現役ペンテスターが語るペネトレーションテストのお仕事

f:id:lac_devblog:20210611081435p:plain

こんにちは、かすたーど先生と申します。

 先日開催された「第25回 サイバー犯罪に関する白浜シンポジウム 」1日目のナイトトークに、株式会社ラックのデジタルペンテストサービス部のペンテスターが登壇し、「ペネトレーションテストのお仕事」についてお話ししました。

今回は、その模様を少しだけお届けします。

白浜シンポジウムとは?

白浜シンポジウムは、サイバーセキュリティ業界ではお馴染みの温泉シンポジウム(白浜、越後湯沢、道後、九州、熱海)のひとつで、毎年5月に和歌山県白浜で開催されています。イベント内容は最先端のセキュリティトレンドに関する講演や企業PR、インシデント対応を競う情報機器管理コンテストなどが開催され、中でも本講演後に開催される夜の部は、その場限りの話が聞ける場として知られています。

今回はコロナ禍によりオンラインでの開催となりましたが、講師も参加者の間で配信中に積極的なやり取りが行われる熱量の高いイベントとなりました。

録画禁止・アーカイブ禁止で実施された今回のナイトトーク。ラックが担当したグループでは、「ラックの現役ペンテスターが語るペネトレーションテストの最前線」と題して、IoTデバイスペネトレーションテストと情報システムペネトレーションテストを担当しているペンテスターが登壇し、ペネトレーションテストの現在について90分に渡りトークセッションを行いました。

f:id:lac_devblog:20210521154527p:plain

ペンテスターの内の1名はアバターで出演


■本題に入る前に:ペネトレーションテストとは

テクノロジーの進化とともに現れる新たな「悪用」と「不正」の脅威から、最先端の知識と技術を持つセキュリティエンジニアのワザでお客様の資産を衛るのが、ペネトレーションテストです。​

f:id:lac_devblog:20210521160317p:plain

IoTデバイスペネトレーションテスト
ハードウェアレイヤー、デバッグポート、ファームウェア通信プロトコル、​クラウドサービス/APIスマートフォンアプリケーションなどIoTデバイス/IoTサービスに対して全領域でハッキングを実施。​製品出荷前にゼロデイを発見し、攻撃者による悪用を未然に阻止するサービスです。​

f:id:lac_devblog:20210521160345p:plain

情報システムペネトレーションテスト
お客様の情報システム(社内外のネットワークシステム)において、PC端末のマルウェア感染または外部公開サーバへの侵入を前提として、ネットワーク経由での疑似攻撃による侵入可否や、侵入後の展開可能範囲を攻撃的手法により検証するサービスです。​

f:id:lac_devblog:20210521160334p:plain

 

これらを担当しているペンテスター達にペネトレーションテストについて話を聞きました。


■IoTデバイスペネトレーションテストのペンテスターに質問!

Q1:IoTデバイスペネトレーションテストの進め方を教えてください

基本は、お客様が「何を」みてほしいのかを確認し、そこに脆弱性があるかを調べます。お客様が脅威を洗い出せていないパターンもあるので、その場合はペンテスターが製品の解析を進めながら脅威を見つけていくこともあります。

機能や仕様を組み合わせることで脆弱性になるものもあるので、ツールを回すだけでは見つからないペンテスターの知見や目線で脆弱性を見つけ出しています。

Q2:ペンテスターとして必要な考え方や脆弱性を見つけるコツなどはありますか?

日ごろから悪い人の気持ちになって考えています。
いたずら心というか、悪いことをするとしたらどうすればいいかなど、ロジック面で考えたり見たりしています。

脆弱性の匂い」は、光って見えます。いつもと違うところを見つけると、それが脆弱性だったりする。
脆弱性の匂いを見つけられるようになるには、正常系(いつも通りの状態)をたくさん知っておくのが大切です。

Q3:どんな脆弱性を見つけたことがありますか?

コマンドインジェクションやバッファーオーバーフロー、他にも様々な脆弱性を見つけたことがあります。
特にIoTのペネトレーションテストではコマンドインジェクションが多いと感じます。
原因として、外からの情報を受け取り、そのデータをそのままシステムコールの引数として扱ってしまう事例が多いです。
また、脆弱性と呼べるか分かりませんが、デバイスデバッグポートが開いていることも多いです。
デバッグポートが開いているとROMの読み書きが可能になることや、動的解析ができるため、解析がし易くなります。
特に、RTOSの解析では、デバッグポートが開いているかどうかで解析の難易度が大きく変わると思っているので重要だと感じでいます。


■情報システムペネトレーションテストのペンテスターに質問!

Q1:情報システムペネトレーションテストの進め方を教えてください

お客様の業務ネットワーク、普段仕事をしているパソコンやネットワークに対して行います。マルウェアに感染したらどこまで横展開されてしまうのか、機密情報が抜かれてしまうかなどを調査します。
進め方は、まずはお客様とゴールを設定します(ダミーファイルが取れるか、どこまで横展開されるか、など)を決めて実施します。
安全に配慮して実施しているので、お客様の業務環境に影響が出たことはありません。

Q2:ペネトレーションテストを行うにはどんな勉強が必要?

サービス立ち上げ時は国内に教材が少なかったので、海外の最先端の調査ツールのソースコードを読んだり、自分でも簡易版調査ツールを作ったりしながら勉強しました。

Q3:どんな人がペンテスターに向いてますか?

ペネトレーションテスト案件はブラックボックスになることが多いので、根気強く原因を追究できる人が向いています。
なぜそうなるのか分析して仮説とのギャップを埋めていく必要があります。
また、行動する前に原理をきちんと理解して実施しないと、案件で障害を起こしてしまう可能性があるので、攻撃コードの仕組みの理解や慎重さも必要です。

 

■おわりに

90分に及んだ白浜シンポジウムのナイトトークでお話しした内容から、ごく一部ですがご紹介させていただきました。
トークでは参加者からペンテスターの技術や倫理感に関する質問もいただき、普段仕事の場ではなかなか改めて聞くことの少ないペネトレーションテストにかける意気込みなども聞くことができました。

こちらの記事が、ペネトレーションテストに興味のある方のお役に立てれば幸いです。