Scribble at 2023-08-13 19:38:51 Last modified: 2023-08-14 14:37:36

AIDE という侵入検知システムの紹介記事を書いていたという話をしたのだが、こういうコンパクトで小回りの効く、つまりは特定の目的だけのために使うようなソフトウェアを、僕は好んでいる。ただ、闇雲になんでもかんでもそういうソフトウェアで済ませようとしているわけではない。

この手のコマンドとかツールの設計方針というものは、他のソフトウェア開発にも言えることだと思うが、サポートする機能の範囲と、それに必要なオプションや引数の取るべき値の範囲とのバランスを考えなくてはいけない。あまりにも一つのソフトウェアに膨大なオプションだとか豊富な機能を詰め込んでしまうと、それこそコマンドがシェルのようになってしまい、引数やオプションがコマンドみたいな仕様となってしまう。よって、そのツールを使いこなすためには詳細なオプションを覚えないといけないという、実に学習効率の悪いツールとなってしまうわけである。あまり事を荒立てたくはないが、Emacs などが典型だと思う。まぁ開発している当事者が Emacs は一つの環境であると豪語しているくらいだから、その自覚はあるのだろう。

そして次に、あまりにも機能を限定してしまうと、当たり前だが何かをやろうとするときに幾つものツールを習得して使えなくてはいけなくなる。これもまた別の意味で学習コストが高くなってしまう。しかも、一つの巨大なツールについて使い方を学ぶ場合とは違って、別々のソフトウェアについて使い方を学ぶことになるため、その運用上の特性なり癖もバラバラに知っておく必要があるかもしれない。情報セキュリティ関連のツールの多くは、そうしたものが多いので、結局は専門のエンジニアとして色々なツールを使ってみて、動作仕様なりオプションや引数の当て方のパターンなりに混乱したところや誤解しやすいところがないような組み合わせでツールを整備していく必要が出てくる。そして、そういうことをしているうちに、多くのエンジニアは他人が作ったバラバラなソフトウェアに対応したり個別の特性を調整したり学ぶことが無駄だと感じてきて、前者のように巨大な自分用のツールを作ってしまったりするのだ。もちろん、これは自分だけのツールであるから「シェルみたいなものだ」と言われたところで疑問の余地はないだろう。そう、そのとおりだからだ。

そうやって、最後は自分で Linux のカーネルなどをカスタマイズするようになったりするわけだが、それは逆に個人としての工数を道具の整備だけに使い過ぎているのは事実だろう。よって、Kali Linux のようなものを利用しても別に悪くはない。

  1. もっと新しいノート <<
  2. >> もっと古いノート

冒頭に戻る


※ 以下の SNS 共有ボタンは JavaScript を使っておらず、ボタンを押すまでは SNS サイトと全く通信しません。

Twitter Facebook