Skip to Content
実践 bashによるサイバーセキュリティ対策 ―セキュリティ技術者のためのシェルスクリプト活用術
book

実践 bashによるサイバーセキュリティ対策 ―セキュリティ技術者のためのシェルスクリプト活用術

by Paul Troncone, Carl Albing, 髙橋 基信
April 2020
Intermediate to advanced
352 pages
4h 11m
Japanese
O'Reilly Japan, Inc.
Content preview from 実践 bashによるサイバーセキュリティ対策 ―セキュリティ技術者のためのシェルスクリプト活用術

15章ツール:コマンドライン版ファザー

ファジングは、実行ファイル、プロトコル、システムなどに内在された潜在的な脆弱性を特定するために用いられる手法である。ファジングは、ユーザ入力の検証が貧弱で、バッファオーバーフローなどの脆弱性を内包しているアプリケーションを特定する際に特に有用である。bashは、そもそもの目的がシェルからのコマンド実行であり、その際にさまざまな引数を設定可能という点で理想的なファジングのツールである。

本章ではfuzzer.shというツールを作成する。このツールでは実行ファイルのコマンドライン引数をファジングする。言い換えると、指定された実行ファイルの、ある引数の値を1文字ずつ増加させながら何度も実行する。次に要件を示す。

  • ファジング対象の引数は、?文字により指定されること。
  • ファジングされる対象の引数は単一の文字から始まり、対象のプログラムが実行されるたびに、1文字ずつ追加されていくこと。
  • ファザーは引数長が10,000文字を超えた時点で停止すること。
  • プログラムがクラッシュした場合、ファザーはクラッシュを引き起こしてコマンド全体およびエラーを含むプログラムからの出力を表示する。

例えば、fuzzer.shを用いてfuzzme.exeの2番目の引数をファジングする際は、次のようにして実行する。

./fuzzer.sh fuzzme.exe arg1 ?

ファジングしたい引数は、?文字で指定される。fuzzer.shはfuzzme.exeを何度も実行し、毎回2番目の引数に文字を追加していく。これを手作業で行う場合は、次のようになるだろう。

$ fuzzme.exe arg1 a 
$ fuzzme.exe arg1 aa 
$ fuzzme.exe ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

実践 時系列解析 ―統計と機械学習による予測

実践 時系列解析 ―統計と機械学習による予測

Aileen Nielsen, 山崎 邦子, 山崎 康宏
実践 自然言語処理 ―実世界NLPアプリケーション開発のベストプラクティス

実践 自然言語処理 ―実世界NLPアプリケーション開発のベストプラクティス

Sowmya Vajjala, Bodhisattwa Majumder, Anuj Gupta, Harshit Surana, 中山 光樹
情報アーキテクチャ 第4版 ―見つけやすく理解しやすい情報設計

情報アーキテクチャ 第4版 ―見つけやすく理解しやすい情報設計

Louis Rosenfeld, Peter Morville, Jorge Arango, 篠原 稔和, 岡 真由美

Publisher Resources

ISBN: 9784873119052Other