検索
連載

プログラマをやって思うことセキュリティ、そろそろ本音で語らないか(7)(1/3 ページ)

これまでは“コンサルタント”としての本音を語ってきた本連載ですが、実は筆者は筋金入りの“プログラマ”。第7回はプログラマ視点でのセキュリティを語ります(編集部)

Share
Tweet
LINE
Hatena

私、現役プログラマです

 私は学生のころからコーディングを行っていて、アルバイトで売上管理プログラムなどを作っていました。当時は容易に入手できる開発環境などもロクになくて、選択肢はBASICか機械語くらいでした。

 その後もいろいろな言語でプログラムを書いてきました。タイヤの設計に使う3次元CADのマクロ、NeXT(これ自腹でローン組んで買いました)のアプリケーション、MacintoshでのThinkCなんかも経験しつつ、Windows 3.1とUNIX間のTCP/IP通信プログラムなど、いまから思えばプログラムは趣味の1つなのかもしれません。2008年には、Second LifeのLinden Scriptで書いた動くペットなんかも作っていました。

 最近、一念発起してパソコンのセキュリティ検査や監視を行うプログラムとASPサーバのプログラムを書き始めました。実際にPC AuditorというASPサービスとして販売も始めています。導入企業も増え始め、忙しくしています。

【関連記事】

PC1台当たり250円の情報漏えい対策、S&Jコンサルティング
http://www.atmarkit.co.jp/news/200904/01/sandj.html


 もともと「社員の自宅の私物PCを検査したい」というお客様の要望から始まったのですが、企業と違って私物PCがターゲットなので、Windows 98からWindows Vistaまでカバーしなくてはいけません。

 ここ最近Windowsでプログラムを書いておらず、軽い気持ちで始めたのですが、Windows 98/Meと、Windows 2000以降のいわゆる「NT系カーネル」はまったく違うものでした。私の使っている開発環境も「開発したアプリケーションはWindows 98をサポートしていません」とキッパリ書かれていますし、.NETでは.NET Frameworkのインストールが前提条件です。これではとてもじゃないですが、私物PCを「検査させていただく」条件としては適していません。

 仕方なく、Windows 98のサポートのために古い開発環境を用意して、できるだけ互換性のあるAPIを使って開発をしました。しかしながら、最新のVistaまでカバーとなると、どうしても互換性の確保は難しく、多くの機能はWindows 2000以上となってしまいました。

 テストはVMware上で各OSを用意して行っています。Windows 98やWindows 2000があまりに快適に動作するので、あらためて最新の重いOSってなんなんだろう、と思ってしまいます。Windows 98は動作が不安定なので、いまさら現役では使うのは根性が要りますが、Windows 2000はテストをしていても十分に安定していますし、快適そのものです。

 実際、開発環境はWindows 2000上に構築しています。Windows XPもインストールして使っていますが、Windows 2000の快適さにはかないませんし、重いOSをわざわざ使う理由がありません。

開発者から見た「UAC」という壁

 Windows 2000でもWindows XPでもちゃんと動作するアプリケーションを書いたところで、ハマったのがWindows Vistaです。ユーザーアカウント制御(以下、UAC)が有効になっていると、特にサービスプログラムはWindows 2000、Windows XPとは違う動きをしてしまいます。結局、Windows Vistaに対応するようにプログラムを改修しなくてはいけません。

 ほかの開発会社はどうしているのか、と調べてみると、「UACを無効にして実行してください」とうたっているものが少なくありません。UACはそもそもセキュリティ強化の機能なので、これを無効にしてください、というのはあまりいい対応ではないと思います。

 しかしこのUACですが、本当にセキュリティが向上しているのでしょうか。例えば、アプリケーションをダウンロードしてきて実行しようとすると、「認識できないプログラムがこのコンピュータへのアクセスを要求しています」「発行元が分かっている場合や以前使用したことのある場合を除き、このプログラムは実行しないでください。」と聞いてくるのです。ユーザーは意識的にこのプログラムを起動しているわけで、普通は「許可」することでしょう。

 確かに意図せず実行されたプログラムであれば、怪しいから実行しない、ということもあると思われますが、何回もこの画面を見ているユーザーは「許可」を選択することが習慣になります。

 ユーザーに確認をしつこく求めるようなUI(ユーザーインターフェイス)は、むしろセキュリティをうとましく思わせる原因にもなります。そもそもOSなんだから、自分の配下で動く怪しい動作をするプログラムくらい見分けてほしいものです。

 また、ログインすると自動起動するプログラムで管理者権限の必要なアプリケーションは改修を余儀なくされています。このような仕様の変更はプログラマに負担をかけてしまいます。

 私の開発しているPC Auditorでも、Vistaに対応するための修正を行いました。実行権限だけでなく、ユーザープログラムが書き込めるディレクトリやレジストリにも制限やVista独自の仕様があり、それに適合した作りにしなくてはなりません。

 私の記憶が間違っていなければ、Windows NTが出たときに多くの脆弱性が発見されて、その次に出たWindows 2000では「セキュリティの問題は大きく改善された」とアナウンスされていたような気がします。さらに、Windows XPでも同じように「セキュリティの問題は大きく改善された」といわれていて、それに懲りたのか、Vistaではユーザーに「許可」をさせることで「セキュリティを向上させたことにした」のでしょう。

 しかし、デフォルトで有効にされているUACをそのまま使って、パソコンにそれほど詳しくない一般ユーザーがどれだけ不安になったことでしょう。UACの確認で、急にグレーな画面に切り替わるのは、慣れていてもドキっとします。

 Googleで検索すると、UACの無効化について無数のサイトが紹介しています。つまり、ユーザーに確認を求めることでセキュリティを向上させる試みは失敗に終わったと思います。これ以上しつこくなったら、本当にWindows離れが進んでしまうことでしょう。

Index

プログラマをやって思うこと

Page1
私、現役プログラマです
UACという壁

Page2
開発環境にだってバグはある
困ったときのネット頼み――ただし、コピペは危険

Page3
“メモリを正しく使う”という考え方が明日のセキュアを作る


インデックス

「セキュリティ、そろそろ本音で語らないか」連載目次

Copyright © ITmedia, Inc. All Rights Reserved.

       | 次のページへ

Security & Trust 記事ランキング

  1. ランサムウェア攻撃を受けた企業、約6割が「サプライチェーンのパートナー経由で影響を受けた」 OpenText調査
  2. 長続きする高度セキュリティ人材育成の秘訣を「第19回情報危機管理コンテスト」から探る
  3. セキュリティ専門家も「何かがおかしいけれど、攻撃とは言い切れない」と判断に迷う現象が急増 EGセキュアソリューションズ
  4. インサイダーが原因の情報漏えいを経験した国内企業が約3割の今、対策における「責任の所在」の誤解とは
  5. OpenAIの生成AIを悪用していた脅威アクターとは? OpenAIが脅威レポートの最新版を公開
  6. セキュリティ担当者の54%が「脅威検知ツールのせいで仕事が増える」と回答、懸念の正体とは? Vectra AI調査
  7. 人命を盾にする医療機関へのランサムウェア攻撃、身代金の平均支払額や損失額は? 主な手口と有効な対策とは? Microsoftがレポート
  8. 米国/英国政府が勧告する25の脆弱性、活発に悪用されている9件のCVEとは、その対処法は? GreyNoise Intelligence調査
  9. AIチャットを全社活用している竹中工務店は生成AIの「ブレーキにはならない」インシデント対策を何からどう進めたのか
  10. 「このままゼロトラストへ進んでいいの?」と迷う企業やこれから入門する企業も必見、ゼロトラストの本質、始め方/進め方が分かる無料の電子書籍
ページトップに戻る