ラベル microsoft の投稿を表示しています。 すべての投稿を表示
ラベル microsoft の投稿を表示しています。 すべての投稿を表示

2025年8月1日金曜日

windows OSのサポート切れをPC新規購入の言い訳にするのは終了

私の職場で最も使われているOSはlinuxだ。半数以上のPCにはlinuxが導入されている。windows OS利用者は少なく、mac OSはもっと少ない。

windows OSを選ぶ意外な理由は、性能不足や故障などの理由がなくても新PCを購入できることだ。それはwindows OSがサポート切れを迎えたときだ。windows 10は秋にサポート切れになるので、それを理由にwindows 11を搭載したPCを購入したいと言えば、無条件に許可される。これは便利なのでwindows XPのサポートが切れたときも、windows 7のサポートが切れたときもそれを理由に新PCを手に入れたものだ。

これがlinuxを使っていると、いつでも新しいOSに無料でアップグレードできるので、OSのサポート切れは新PCを買う理由にならない。

秋になったら、サポート切れを理由にしてwindows 11搭載のPCを購入できるのだがそれを最後の機会にしようと思っている。もうほとんどwindowsを使う機会がなくなったからだ。社内でマイクロソフトオフィス文書の利用がほとんどなくなった。Libre Officeなどの互換オフィスソフトを使っている訳でもなく、文書が平テキストになったのだ。表計算ソフトはたまに使うのだが、それはブラウザ上で使えるタイプだ。つまりlinuxでもmac OSでもよい。こうなると不具合の多いwindows OSを使う理由はない。

プレゼン用にパワーポイントで細かい絵を描く人も減った。ジョブズのプレゼンのkeynoteの資料のように、1枚のスライドには大きな文字の文章を数行配置するだけ。それならテキストエディタがあればよい。そして、そのようなスライドの方がよほど内容が伝わる。

他社も同じような状況になったら、悪の帝国microsoftも終焉を迎えるかもしれない。使わないものに誰もお金は出さない。

2025年6月21日土曜日

当たり前と思っていることを疑えるかどうかが頭がよいかどうかの境目

歴史上の優秀な科学者や軍人は、それまで当たり前と思われていたことを疑い、もっとよいことを思いついた点が共通している。この優秀な人の特徴は現在でもそのまま通用する。健康に関することでも当たり前のことを疑うことが健康に生きるためには役立つ。日常生活でも当たり前のことを疑うことで、家事が楽になったり、お金が増えたりする。

今年の秋にwindows 10のサポート期限が切れることで騒いでいる愚かな連中が多い。彼らの当たり前は事実だろうか。
  1. サポート期限が切れるのは本当によくないことか
  2. 本当にwindowsを使い続けなくてはならないのか
どちらも間違っている。

サポート期限が切れているかどうかでクライアントPCのマルウェアに対する脆弱性は変わらない。クライアントPCがマルウェアに感染する主原因はユーザーのうっかり動作だ。クライアントPCでのうっかり動作は最新のOSだろうがセキュリティパッチをあてていようが、ユーザーが注意しないと防げない。だからOSを最新化してもセキュリティ的にはほぼ意味はない。これに気づいている人はOSのソースコードを読んで脆弱性の理由を理解している本物の専門家だけだ。通信を受けるサーバーでない限り、OSの脆弱性はほぼ問題にならない。

windowsはOSの選択肢のひとつでしかない。不便だとか危険だとか思ったら使うのをやめればよいだけのことだ。それができないと騒ぐ連中の中には「会社で使っているから」と言い訳をする者もいる。それは間違っている。社則に「社員はwindowsを使うこと」なんて定めている会社なんてない。管理システムの都合でwindowsでないと集中管理できない場合はあるかもしれないが、その場合でも情シスの管理者にお願いすればlinuxやmacにも対応した管理システムに更改してくれる可能性はある。実際にうちの会社はそうなった。その結果、windows PCは数では少数派になった。

windowsは労働生産性を落とす原因となっている。世界のGDPを1%くらい押し下げているのではないだろうか。これをきちんと数値で示せたら、どんな経営者もlinuxかmacに変えろと号令をかけるはずだ。

PCやソフトウェアを売らないといけない業界の人は、間違っていると思っていてもwindows 10のサポート切れを騒ぎ立てた方が儲かるのでそうしている場合があるだろう。それは仕方ない。証券会社や銀行につとめている人がリスクの割に儲からない商品をよくないと知りつつ顧客に勧めるのが仕方ないのと同じだ。

2025年5月25日日曜日

Lummaの撲滅をMicrosoftが画策

MicrosoftがマルウェアのLummaの撲滅作戦を実行したとブログに書かれた。あまりよいとは言えないソフトウェア(windowsとかofficeとか)を世界中の情弱に売りつけてボロ儲けしているのだから、それくらいのことはしないと無責任と言われるだろう。

Lummaというのはwindowsにしか感染しないマルウェアのプラットフォームだ。けっこう蔓延っているので、どのような技術が使われているのか調べてみた。検索AIのPerplexityに聞いたところ、ユーザーのうっかりミスを利用したしょうもない技術であることがわかった。Lummaが優れているのは、簡単に使えることと、マネタイズの筋道がしっかりしていること(作り手にも使い手にも)だ。これはこれで立派な特徴ではあるが、あまりに低レベルな話なのでこれ以上調べたくはない。

---以下はPerplexityの答---

## Lumma Stealerが悪用する脆弱性と攻撃手法

**主な攻撃手法はソーシャルエンジニアリングと正規プラットフォームの悪用が中心で、特定のソフトウェア脆弱性よりもユーザーの行動を誘導する手口が特徴的です。

---

### 1. ソーシャルエンジニアリングを活用した手口

- **偽CAPTCHAサイト**  

  ユーザーに偽の認証を要求し、成功するとマルウェアをダウンロードさせる手法が2024年10月に確認されています[3][6]。

- **フィッシングメール**  

  GitHubユーザーを狙った新手のメールで、悪意のあるスクリプトをクリップボードにコピーさせ実行を誘導します[6][7]。

---

### 2. 正規サービスの悪用

- **GitHubリリース機能**  

  攻撃者がGitHubのリリースページを改ざんし、不正ファイル(例:`Pictore.exe`)を頒布。ダウンロードURLを正規に見せかける手法が2025年2月に報告されています[2]。

- **Discord CDN**  

  Discordのコンテンツ配信ネットワークを悪用し、マルウェアを配布する事例が確認されています[9]。

---

### 3. 技術的脆弱性の悪用

- **CVE-2024-21412**  

  Fortinetが報告した脆弱性を悪用し、ファイルレス攻撃でLumma Stealerを拡散する手口が観測されています[1]。

- **Windowsツールの悪用**  

  `mshta.exe`やPowerShellなど、Windowsの正規ツールを利用して検知回避を図ります[2][5]。

---

### 4. マルチステージ攻撃

- **複数マルウェアの連携**  

  Lumma Stealer感染後、`SectopRAT`や`Vidar`などの他のマルウェアをダウンロードし、遠隔操作やデータ窃取を継続します[2][5]。

- **永続化手法**  

  レジストリキーの改変やスケジュールタスクの作成により、再起動後も持続します[2][8]。

---

**対策ポイント**  

- 偽CAPTCHAや不審なダウンロードリンクへの警戒

- GitHub/Discordの正規URL確認(例:`https://github.com/[ユーザー名]/[リポジトリ名]`)

- エンドポイント保護ソリューションの導入(例:EDRによるPowerShell監視)[2][8]


情報源

[1] CVE-2024-21412の悪用:猛威を振るうスティーラー攻撃 - Fortinet https://www.fortinet.com/jp/blog/threat-research/exploiting-cve-2024-21412-stealer-campaign-unleashed

[2] GitHubのリリース機能を悪用して情報窃取型マルウェア「Lumma ... https://www.trendmicro.com/ja_jp/research/25/b/lumma-stealers-github-based-delivery-via-mdr.html

[3] Lumma Stealer:急激に広がる情報窃取型マルウェアの脅威 | ESET https://www.eset.com/jp/blog/welivesecurity/lumma-stealer-a-fast-growing-infostealer-threat-jp/

[4] 【脅威分析レポート】影からスポットライトへ、LummaStealerの ... https://www.cybereason.co.jp/blog/threat-analysis-report/13044/

[5] 悪名高いマルウェアLumma Stealerがテイクダウンされる | Codebook https://codebook.machinarecord.com/threatreport/silobreaker-cyber-alert/38922/

[6] チェック・ポイント・リサーチ、2024年10月に最も活発だった ... https://prtimes.jp/main/html/rd/p/000000348.000021207.html

[7] マカフィーの調査チームがセキュリティツール「CAPTCHA」に紛れ ... https://prtimes.jp/main/html/rd/p/000000051.000033447.html

[8] クッキー窃取と情報窃取型マルウェアの軽減 - CyberArk Docs https://docs.cyberark.com/epm/latest/ja/content/featurespotlight/infostealer-malware.htm

[9] DiscordのCDNを介して拡散される情報窃取型マルウェア「Lumma ... https://www.trendmicro.com/ja_jp/research/23/l/beware-lumma-stealer-distributed-via-discord-cdn.html

[10] ClickFixの被害をJSOCの複数のお客様にて観測 | LAC WATCH - ラック https://www.lac.co.jp/lacwatch/alert/20250519_004380.html


2025年1月14日火曜日

mac用取引アプリがあるのはSBI証券と楽天証券

どの証券会社もwebブラウザーでの取引はできるから、その場合はOSの違いはそれほど問題にならない。しかし板を見ながらデイトレをするような場合は専用取引アプリの方が使いやすい。以前はmac用取引アプリを用意している証券会社はいくつかあったが、今は私の知る限りSBI証券と楽天証券だけだ。FX会社だとiPhone用やiPad用取引アプリを用意している会社はいくつもあり、それをapple silicon macから利用することができるので、もっと多い。

なぜSBI証券と楽天証券だけになったのかの理由は明確で、その二社だけがmac用を作る余裕すなわち資金力を有しているからだ。国内株の取引手数料を無料化したのは今のところこの二社だけなのも同じ理由からだろう。

私は他の証券会社も使っているので、本当はそれらの証券会社でもmac用アプリを作ってほしい。しかしそれは叶わない希望だから必然的に取引はSBI証券と楽天証券に収斂してしまう。

リーマンショックの前後はlinuxでFX取り引きをしていた。マネースクエアジャパンの取引システムではlinuxでも普通にチャートが表示できて取り引きができた。今でもそうだが、windowsはシステムが落ちやすいので、クリティカルな取引に使うのは怖い。以前、windowsがフリーズしてwindowsを採用していたアメリカの軍艦が動けなくなったなんて事件があって「命がかかっているシステムにwindowsを使うとは何事か」と各方面から叩かれた。金融取引は命はかかっていないが、お金がかかっているのでそれなりに重要なことだ。これにwindowsを使う連中の気がしれない。

macもmac OS9まではwindowsと同様に落ちやすく信頼性がなかった。なのでそのころはmacで金融取引をしようなんて夢にも思わなかった。mac OSはmac OS XになってからUNIXベースになって頑健性が飛躍的に向上した。それでも最初の5年くらいはまだ不安定だったが、今ではすっかり安定した。debianと同じくらい信頼できる。

2024年7月26日金曜日

"windows? なにそれおいしいの?"と言っている私も昔はwindowsを使っていた

windows updateでまた屍累々の記事を読んだ。こういう目に10回くらい会うと自然と「microsoftの製品を使うのは時間の無駄ではないのか」という疑問が生じそうなものだが、世界中学習しない連中ばかりでビルゲイツも大喜びだろう。

私も以前はwindowsをよく使っていた。2000年ころのアナログ波TV放送録画ブームのときにSONY VAIOを9台ほど購入してGiga Pocketという録画ソフトで何TBもの録画を行った。Giga Pocketはwindows用しかないので必然的にwindowsを使った。そしてwindows updateを行った結果PCがおかしくなるという現象に何十回も遭遇した。中には回復作業に数日かかったという重症な不具合もあり、それで私も学習した。「windows updateをしてはいけない」「そもそもwindowsは使うべきではない」と。幸いアナログ波放送が絶滅した結果、PCでTV放送を録画する利便性が著しく減ったのでTV放送録画は2010年くらいにやめてしまった。そうなるとwindowsを使う機会は年賀状の印刷と株式の取引のときだけになってしまった。今はwindows PCを使う時間はPCを使う総時間の1/100以下でしかない。windows updateも自分からは絶対にしない。おかげでPCを操作していて不具合が発生しトラブルシューティングに時間を取られるということがなくなった。時給的に何百万円も得しているし、ストレスから解放された分はお金には代え難い利点だ。なぜみんなそうしない?

windowsもwindows 3.1まではそこまでひどくなかったし、当時はmacintoshの方がフリーズする機会が多かった。microsoft製品がダメになったのは1995年のwindows 95からだ。

勤めた会社がよかったせいで1980年代はUNIXで仕事ができたのでコンピューターの不具合で仕事が止まることはなかった。頻繁にフリーズするmacintoshを使わなくてもX10/X11でグラフィカルな表示はできた。UNIXを祖とするlinuxは1997年から使い始めてお財布にやさしくなった。macは21世紀になってUNIXベースになってからはひどい不具合は随分減った。今はmacとlinuxで幸せに暮らせている。結局UNIXの系譜がよいというヒネリのない結果に落ち着いたのだ。

2024年7月19日金曜日

CrowdStrikeの障害が起こるもインストールを忌避していたので被害を免れる

私物のPCには絶対にアンチウィルスソフトの類は入れないようにしているので問題はない。会社のPCはセキュリティーソフト必須でしかもCrowdStrike指定だ。今回の事件でとんでもないことになったかもしれないのだが、大丈夫だった。なぜなら私は入れてなかったからだ。私物のPCに入れないのと同じ理由だ。ウィザード級のコンピューター使いにとってはアンチウィルスソフトを入れた方が入れないときに比べて害が大きいからだ。アンチウィルスソフトを入れずにウィルスにひっかかって会社に損害を与えたら私は大目玉を食らうことになるが、あと1000年経ってもそんなことにはならない。妙なソフトをインストールすることはないし、通信に使うポートは全て把握していて厳格に管理しているからだ。

ちなみにCrowdStrikeはlinux用もあって、会社ではlinuxマシンにも入れろと指示があった。どのような挙動をするのか知りたかったので、たくさんあるlinuxマシンのうちどうなってもよい1台だけにはCrowdStrikeを入れてあった。しかし今回の事件の影響は受けなかった。ありがちなことだがwindowsだけの問題のようだ。1990年代から「クリティカルな業務にマイクロソフトの製品使うとか頭大丈夫か?」と散々言われていたのに学習しない人もいる。

CrowdStrikeは各自のPCに導入したかどうかを管理者が知ることができるのに、なぜ私は管理者に叱られないかって?管理者を欺くのは簡単で、本物のマシンと同じMAC番号の仮想マシンを作ってそれにOSを入れてCrowdStrikeを入れる。半日ほど仮想マシンを動かして、管理者側のマシンへログ情報を送ったであろう後は仮想マシンを止める。その後は本物のマシンを使う。定期的にログ情報を送らないのでいずれバレるはずだが、管理者は忙しいのでたくさんあるPCを1台1台チェックしたりはしない。もしバレても「しばらくPCに電源を入れてませんでした」と回答して本物のマシンを止めて仮想マシンをしばらく動かせば大丈夫。

2024年6月27日木曜日

サポートされなくなったソフトウェアこそ安全

以前からwindows updateを行うことによる不利益と利益を比べたら不利益の方が1万倍くらい大きいからwindows updateは行うべきではないと言い続けてきた。そのためにwindows updateが行われなくなった古いwindows 2000の方がよほどよいと。

古いものほど良いのはwindowsの設計思想が腐っているからでwindows特有の性質かと思っていたが、最近そうでもない事例に気づいた。私のブログが頻繁に攻撃を受けているのは何度も本ブログで述べた。ログから攻撃手法を調べると的外れな攻撃しかできていない。私のマシンのソフトウェアは全部オープンソースなのだから、ソースコードを調べたら的外れな攻撃ではなく的確な攻撃ができるのになぜしない。クラッカーがバカでソースコードを読めないのだろうと思っていた。

ところが、よくよく考えるとソースコードが読めないのは当然だとわかった。もう正規のルートではソースコードを入手できないのだ。作った人が引退した、スポンサーが撤退した等の理由でメンテする人がいなくなって公開サイトが閉鎖されてしまっている。探せばどこかの個人サイトにアーカイブがあるかもしれないが、それを探し出してまでクラックするほどの経済的価値は私のブログにはない。金目のものは何も置いてないからだ。

つまりオープンソースのソフトウェアでも古い方がよい事例があるのだ。要するに「古すぎてクラッカーの相手にされない」ということだ。

同じことはどこにも公開してない自作のプログラムにも言える。みんなに公開した方がセキュリティが強くなるのはオープンソースの重要な特徴だが、それとは正反対に誰もソースコードにアクセスできなくするのもセキュリティを強化する方法となる。ちゃんとセキュリティを理解した人がプログラムを書いていればの条件付きだが。

2024年3月2日土曜日

遅いRDP接続を速くする方法

LAN内でリモートデスクトップ接続(RDP)をするとサクサク動くのに、外からファイアウォール経由でリモートデスクトップ接続をすると遅い場合の改善方法。

接続先(間違えないように)のPC上で、"ファイル名を指定して実行" -> "gpedit.msc" で探してローカルグループポリシーエディタを起動する。

コンピューターの構成
└管理用テンプレート
 └Windowsコンポーネント
  └リモート デスクトップ サービス
   └リモート デスクトップ セッション ホスト

に表示される各項目が未設定になっているはずだから、各項目の編集メニューから設定を有効にして何でも良いから値を決める。するとあら不思議、リモートデスクトップ接続がサクサク動くようになる。

最初は最適な値を設定すべきと思って最適値を探していたが、いろいろいじっていると値による差はあまりなく、値が設定されているか否かの方が重要だとわかった。謎な仕様だが、速くなればそれでいい。

sshではなくRDPプロトコルで接続しているのは、外から内へファイアウォールを通過するためには会社のポリシーでRDPでないといけないからだ。公式にはsshは通らないことになっている。もちろん通しているけどね。

2024年3月1日金曜日

vmwareのディスクイメージはvirtualboxで読み込める

昨日windows updateで固まったwindows PCは起動しなくなった。OSを再インストールしてバックアップからリストアすれば元に戻るが、面倒なのでやらない。そもそもwindowsのインストールディスクなんて持ってない。問題はwindows updateを許したことであり、マシンのスペックや構成ではないのは承知しているが、ここはひとつwindows PCを仮想化して新しく仕立ててみようと思った。仮想化したからって問題が解決することはなく、大事なのはwindows updateを許さないことなので、マシンができたらwindows updateを禁止する(今はできるのか?)設定をしなくてはならない。

無償のvmware playerはvmwareがbroadcomに買収されてから無くなったみたいなので、今回はoracleのvirtualboxを使用した。驚いたことにapt install virtualboxだけでインストールが完了した。これにwindowsをインストールするのだが、私はwindowsのインストールディスクを持ってないし、ライセンスも持っていない。しかし、当てはある。CentOS5時代に使っていたvmware playerで動かしていたwindowsのディスクイメージがあるのだ。これをvirtualboxで動かせば大丈夫なはずだ。実際大丈夫だった。ライセンス認証もオンラインで1クリックで完了した。

virtualboxの情報を読むとvmwareのvmdkイメージをそのまま読み込めるとある。イメージに含まれるvmware toolsは予めアンインストールした方がよいとあったが、面倒なのでサボった。が、問題はなかった。気になったのは私のvmwareのvmdkイメージは2GBずつの分割イメージであることだ。これはおそらく読めなくて、普通の1ファイルのイメージでないとまずいと思う。そこで

vmware-vdiskmanager -r oldWindows.vmdk -t 0 newWindows.vmdk

で1ファイルのイメージにまとめる。vmware playerにはvmware-vdiskmanagerは付属していないので、vmwareの無償体験版をダウンロードしてインストールする。/usr/binの下にvmware-vdiskmanagerが配置される。この実行ファイルを他のマシンに持っていってもOSが新しめなら使える。私はUbuntu 22.04LTSにインストールしたものをUbuntu 23.04にコピーしたがそのまま使えた。元のイメージはvmware player version 4のもので古いがエラーなく処理できた。

あとはvirtualboxで新規マシンを作ってディスクイメージにこのvmdkイメージを指定すればさくっと動いた。ディスクインターフェース(SCSIとかIDEとか)を元の設定に合わせなくてはならないので、新規マシンを作るときに合わせておく。

virtualboxで感心したのはGUIをデタッチできる、つまりデスクトップなしで運用できる点だ。vmware player時代に困ったのはvmware player上で仮想マシンを動かすためにはデスクトップが必要だった点だ。私はコンピューターを遠隔テキストターミナルから操作するので普段はX windowは起動させない。しかし、vmware playerをずっと動かすためにしかたなくvncserverを起動してXのデスクトップを作り、そのデスクトップでvmware playerを動かしていた。間違ってvncserverを停止させるとvmware playerのプロセスが終了し、その上の仮想マシンも停止してしまう。これはかなり問題だった。それに比べてvirtualboxはデスクトップなしで起動できるのでvncserverを起動し続ける必要がない。古いwindowsのように最初にGUI画面でログインしないとネットワーク通信が有効にならない場合は、デタッチモードで起動して最初はGUIでログインし、ログイン後にトップメニューからGUIをデタッチするとデスクトップを閉じても仮想マシンは動き続ける。これはとても便利だ。

2024年2月29日木曜日

久しぶりにwindows updateの厄災にひっかかる

プライベートではwindowsはクリティカルな作業には使わないようにしている。必ず不具合を起こすからだ。その心がけゆえに大きな迷惑を被ることからは免れている。ところが会社ではwindowsが業務PCとしては必須だ。windowsでないと動かないシステムを採用している。そんな会社だが、1980年代後半に全社的にmacを業務PCとして使うようにしたことがあった。それ以前は高価なワークステーションを事務に使っていたのを、安価なパーソナルコンピューターに変えようという施策だった。当時のパーソナルコンピューターと言えばMS-DOSが動くPC-9801と8bitCPUが載っているいわゆるマイコンたちとmacintoshだった。その中で唯一windowシステムが動くmacintoshを採用したのだ。当時のmacのOSである漢字talkは頻繁に落ちるので私を含め社員はみんな迷惑した。そのときmacの評判が地に落ちた。それ以降はMS-DOS上で動くアプリを開発してMS-DOS搭載機が業務PCの座に定着した。そして二度とmacに戻ることはなかった。まるで自民党(microsoft)と民主党(apple)のようだ。ちなみに私は当時からappleのファンだったのでプライベートではmacintoshを使っていたが、これを業務に使うのはとんでもないと思っていた。macのOSが安定したのはUNIXベースになったmac OS Xからなので、業務にmacを使うのは20年早すぎた。

今日windows updateがバックグラウンドで実行されて再起動を促されたのでランチで離席する前に再起動した。ランチを終えて帰ってくると「処理を行っています。しばらくお待ちください。」とブルースクリーン上に表示されている。そしてそれは夕方になっても終わらない。これでは全然事務ができないんだけど。24時間通電のACアウトレットに業務PCの電源を差し込むことは許可されていないので夜間にwindows updateをすることはできない。退社時に電源が切れるACアウトレットから給電しているので退社時までに終わらなかったら電源は強制断だ。その結果、明日はwindowsが起動しないかもしれない。憂鬱だ。

私は大した処理をしないwindows PCにコストをかけるのが嫌なので10年落ちのHDD搭載PCを使っている。windows updateが遅いのはHDDのせいだと思っていたが、第12世代core i7搭載PCを使っている同僚でも同じ目に合っている人がいる。当然SSD搭載機種だ。windows updateが遅いのはハードウェアのせいではなくwindows自体が腐っているのが理由のようだ。

うちの会社の技術者のメインOSはlinuxだ。windowsマシンでプログラムを書いている人はいない。そうは言っても1台は業務PCとしてwindowsマシンを持たないといけない。windowsマシンとlinuxマシンの2つのマシンのお守りが嫌な人はwindowsのWSLで暮らしている。いずれにしても全員がlinuxで仕事をしている。業務PCがlinuxになればみな喜ぶのにそうならない。いつまでもwindowsが業務マシンとして居座っているのはなぜだろう。

社員の貴重な時間を奪っているのだから、windowsの使用はやめた方が生産性が上がる。どうしてもwindowsでないと困るなら、windows updateを禁止すればよいかもしれない。

2024年2月22日木曜日

いつのまにかeps形式の画像がセキュリティが理由で使えなくなっていた

TeXの原稿を書くときは画像をeps形式で用意する。ベクター形式でないと組版のときにきれいに拡大縮小ができないからだ。お絵描きツールで描いた画像を直接eps形式で保存できる場合を除き、eps形式の画像を作るときはTIFFなりJPEGなりPNGなりの別の形式の画像をeps形式に変換して作る。この変換はOSにおまけでついている画像ビューアーで読み込んで、eps形式で書き出せばよい。ところが最新のmac OSとwindowsではeps形式での書き出しができなくなっている。理由を調べるとセキュリティのためとわかった。

eps形式にはスクリプトを包含することができる。このスクリプトに悪意のコードを紛れ込ませられることがわかった。悪意のコードをチェックしたり特権を与えないようにしたりする防御が十分にできないので、最新のOSではeps形式を使わないことにしたようだ。

TeXのツールはeps形式がデフォルトのものが多く、eps形式が簡単に作成できないととても不便だ。TeXのツールによってはJPEGやpdfやPNGやTIFF形式の画像を読み込めるものもあるのだが、私の古いツールはeps形式でないと受け付けない。

オープンソースの画像エディタGIMPを使えばたいていの形式の画像をeps形式へ変換できる。しかしGIMPはかなり重いソフトウェアだ。起動すると数秒待たされる。しかたないので古いphotoshopを引っ張り出してきてこれで画像を変換している。

2024年2月1日木曜日

30年ぶりにwindowsがshift JISコードを使っていることを思い出した

所用で画像ファイルを送る必要が生じた。20枚くらいのJPEG画像だったのでzipで固めて送った。先方は画像を無事に見ることができたのだが、「ファイル名が文字化けしていた」とも言われた。数秒考えて、先方がwindowsを使っているのだと気づいた。windowsも今はUTF-8になったのではないかと思っていた(興味がないので本気で調べていない)のだが、どうやら未だにshift JISを使っているらしい。

shift JISは1985年にパソコン通信で日本語表示をしたとき世話になった。PC-9801の漢字コードがshift JISだったからだ。ところがその1年後に就職した職場がunix環境の日本語エディタを開発していた。そのときshift JIS特に半角カナは何者にもまさる悪であり、使うと地獄に落ちると先輩から教えられた。1986年当時のunix環境の日本語エディタはJISコードが標準だった。

その後10年間はJISコードメインで暮らしていたが、1996年からlinuxを使い始めてその日本語環境はEUCコードが標準だった。その後10年くらいはEUCメインで暮らしていたが、新しいlinuxディストリビューションに替えたときに自然にUTF-8に変わってしまった。そして今もUTF-8だ。UTF-8よりUTF-16の方が概ね2バイトで統一できて自然だと思うのだが、英字をメインで使う人たちは英字が1バイトで済むUTF-8を好むので、世界のデフォルトがUTF-8になるのは仕方ないと思う。

OSを含めて文字を処理するプログラムは、いろいろな文字コードに対応しなくてはいけないのでたいへんだと思う。私はそういう複数文字コード対応プログラムは書きたくない。文字列処理のプログラムはUTF-16入出力に固定して作成して、入力前と出力後に適当なフィルターで所望の文字コードにするのが省力かつエレガントな気がする。

2023年12月24日日曜日

セキュリティ対策としてはwindows updateとかOSの更新はほぼ無意味なのだが

windows10のサポート期限が2025年というので騒いでいる連中がいる。サポート期限という概念が出始めた2000年以降は、新しい製品を売りたくなるとすぐ騒ぎ立てている。私は前から何度も主張しているが、ソフトが古いからセキュリティに問題が出るという考え方は一般消費者レベルの使い方をしている限り、間違っている。金銭に関わるサーバーは別だが、それ以外は気にする必要はない。

最新のOSで最新までソフトウェアアップデートパッチを当てたPCのセキュリティ防御力が1万だとする。ソフトウェアアップデートをサボったり、OSの更新をサボるとその防御力は1下がると考えると良い。10回のソフトウェアアップデートをサボると防御力は9990になっている。windows7を使っていたりすると防御力は9800くらいだし、windows 2000だと防御力は9000程度まで低下する。しかし防御力9000でも普段使いなら何も問題ない。じゃあ、世の中でウイルスに引っかかる人がいるのはどう説明するか。それは人間がうっかり行動を行うといきなり防御力が5000減るからだ。windows11を使っていようがmac OS Sonomaを使っていようがlinuxを使っていようが、うっかり行動をすると防御力はいきなり5000減る。うっかり行動を2回続けて行うと防御力はゼロになる。こういう状況のときにウイルスにひっかかる。つまり20世紀のwindows 95を使っていようがredhat4.2を使っていようが、うっかり行動をしなければウイルスにひっかかる可能性は限りなく低い。

そして新しいPCを売りたい商売人には気の毒なことを言うが、うっかり行動をしてしまうと最新OSであっても、それを救ってくれる可能性はほぼゼロだ。つまりセキュリティの観点からすると、最新OSにする必要性は全くない。

2023年8月30日水曜日

wordのファイルはlinuxでもmacでも無料で編集できる

windows OSが一番高価なのにシェアが多い。どうしてわざわざ高価なものを使うのかユーザーに聞いたらmicrosoft officeを使うためだとか。ところがそれは理由としては弱い。

オープンソースの無料microsoft office互換ソフトがいくつかあって、普通の使い方なら問題ないくらいの互換性がある。mac OSでは無料ソフトであるpages、numbers、keynoteでmicrosoft officeのファイルが編集できる。officeファイル処理互換ソフトの元祖は20年くらい前のlinux用のstar suiteという有料ソフトが最初だが、今では互換ソフトは無料で使える。

なぜ高価なwindows OSとmicrosoft officeを使うのか謎だ。却ってコストがかかるのにFAXを使ったり、現金を使ったりする連中と同じで「変えたくない」のが理由なのだろうか。お金が有り余っているなら高価なmicrosoft officeを使っても別にかまわないが、もしお金がないなら頭を使って節約すればよいのになぜしないのか謎だ。と言いたいところだが、連中は頭が悪いからお金がない訳なので、謎の本質は「なぜ連中は頭が悪いままでいられるのか」ということだ。

さらにいちばん謎なのは文書を作るソフトの中でmicrosoft officeは使いにくさがトップクラスなのになぜ使うのかというところだ。office95より前のバージョンはまだマシだった方で、時間が経つにつれてどんどん使いにくさが増していった。使いにくくてあまりに非効率なので私は入力にofficeを使うのはとうの昔にやめてしまった。なので上記の互換ソフトは他人が作ったファイルを見るときだけに使っている。なぜ使いにくい上に高価なものを使うのか本当に頭の悪い人の行動は謎だらけだ。

ちなみに豆知識だがofficeが最初に実装されたのはmacで、officeの中のexcelも最初はmac用だった。しかし当時のmacはすごく落ちやすくて使い物にならなかったので、mac用のofficeは全く流行らなかった。これは怪我の巧妙だったと思う。下手にうまく動いていたらmacにもmicrosoft officeの呪いが行き渡るところだった。私はmacをいくつも所有していたが、落ちて使い物にならないので仕事には使わなかった。会社の人たちはまともな神経だったので、仕事マシンはVAXかSunだった。私も会社の先輩に倣ってUNIXをメインOSにして幸せになれた。

2023年6月23日金曜日

windows10のmicrosoft defenderのウイルススキャンが途中で止まる

windows10付属のmicrosoft defenderのウイルススキャンが途中で止まるようになった。スキャンが99%まで進んだ後、ファイルカウントが200万、300万、400万と増えてゆき、やがて止まる。99%までのスキャンは10分もかからないが、残り1%のスキャンは丸一日経っても終わらない。

このPCは120GBのSSDしか積んでいない。そのうち80GBが使用済み。その1%だと0.8GBだ。0.8GBの領域に200万個以上のファイルがあるということは1ファイル当たり400バイト以下だ。いったい何のファイルなのだろう。おそらくゴミだと思う。

ゴミファイルを作ったのはどのプログラムだろうか。このPCにはソフトウェアはトレード用の数個しかインストールしていない。ネットサーフィンはしないのでウイルス感染の可能性はない。まさかOSがゴミファイルを生成したのだろうか。なんとなくだが、microsoft defenderそのものがゴミファイルを生成しているような気がする。

ファイル破損の可能性があるのでchkdskをしてみたが異常なし。大量のゴミファイルが不具合の原因なのは間違いなさそうだ。やれやれ。windows95以来、windows OSを使っていると無駄な時間を浪費してばかりだ。どんな用途であってもwindowsは信頼性が低いので使いたくないし、普段は使う必要もないのだが、トレード用のソフトウェアはwindows用しかないことが多く、トレードのときは仕方なく使っている。

楽天証券のMarket Speed、SBI証券のHyper SBI2、ヒロセ通商のlion FX、JFXのMatrix Traderはmac用があるので助かっている。私が使用している他の証券会社のトレードツールは以前はmac用があったのだが、今はwindows用だけになってしまった。

トレードはクリティカルな作業なので、信頼性の高いlinuxかmacで行いたいのに、それができないとは非合理だ。

時間を無駄に使うのが嫌だからPCを買い換えようと思ったのだが、よく考えたらmicrosoft defenderの自動スキャンを停止すればよいことに気付いた。

2023年6月2日金曜日

プログラムのバグはプログラマがバカなのが原因か、オブジェクト指向言語が原因か

現代のマイクロソフト製OSを使っていると、バグが多いこと、なぜこんなくだらないバグが入ったのか不思議なこと、なぜすぐにバグを修正できないのか不思議なことの3つを感じる。マイクロソフト製品でもMS-DOSはバグが少なかったが、あれはマイクロソフトが作ったものではない。Mac OSもOS9まではバグだらけでストレスが溜まった。バグが少ない、あるいはすぐに修正されるのはUNIXとそれの派生OSくらいだ。

50年前のプログラムは今よりずっとバグは少なかったし、バグはすぐに修正できた。それはプログラムの規模が小さかったからが最大の理由なのだが、それだけではないと私の心の叫びが聞こえる。

50年前のプログラマに今と同じくらいの大規模プログラム(1000万行を超えるようなもの)を書かせても、今ほどバグは生まれないと思う。50年前のプログラマは今のプログラマより数段賢かった。その結果、
  • プログラムの仕様策定段階で無駄な機能を切り捨てることができる
  • どんなに大規模のコードでも全体を見渡してプログラム構造設計ができる
ことにより、バグが減る。

今のプログラマはバカなので、必要な機能と無駄な機能の切り分けができない。そもそも、プログラマにその権限がなかったりする。そして大規模コード全体を見渡す能力がないから、見渡せなくてもよいようなオブジェクト指向言語を使ってしまう。オブジェクト指向言語こそバグを生み出していることにほとんどの人は気付いていない。オブジェクト指向言語では、他人が設計したクラスの詳細なコードを理解しなくてよいのだが、それがバグの原因となる。結局、コードを全部頭の中に入れなくてはバグは取れないのに、無駄にクラスが多かったりメソッドをオーバーライドしたりしているから、全部を頭の中に入れる作業が非効率になってしまう。

どんなにプログラムの規模が大きくても、マクロアセンブラと関数型言語(C言語みたいなの)で書いた方が、可読性がよくなり全体を見渡すことが簡単になる。その結果、バグが入りにくい。

この理屈は私のような天才プログラマだけにしか当てはまらないのかもしれないが、私の直感はこれは一般プログラマの多くにも当てはまると告げている。

2023年2月9日木曜日

chatGPTをもてはやす分かってない人たち

chatGPTが騒がれているが、騒いでいる連中の分かってなさに驚く。1999年頃のITバブルを思い出す。当時ITに関係があると思われた会社の株が買われてバブルになり、その後弾けた。株を買っていた連中はパソコンを触ったこともなく、ITとは何かすごいことをすると思っていた。「何かすごいこと」って何だよと本物のIT関係者は冷ややかに見ていた。
今の第3次AIブームもITバブルと同じだ。もてはやしている連中はディープラーニングのコードを読んだこともなく、AIとはディープラーニングを使って何かすごいことができると思っている。「何かすごいこと」って何だよと本物のAI研究者は冷ややかに見ている。
chatGPTに使われているトランスフォーマーは自然言語処理が一見できるのだが、言葉の中身を理解している訳ではない。それはトランスフォーマーのネットワークと学習手順を理解すれば分かる。トランスフォーマーのネットワークはquery/key/value自体を学習する多段ネットワークだ。query/key/valueの幅をうまく決めて多段に重ねれば概念間のつながりが自然に学習できるだろうというところがキーアイディアだ。このシンプルなキーアイディアは私も評価している。学習手順は文章の順番決めだ。文章の順番決めは、ある文章の次にくる文章を見つける問題だ。これの正解は元の文章群だから、教師あり学習だ。元の文章は世界中のネットから拾ってくる。だから、googleとかMETAとかMicrosoftみたいなネット関係企業には学習データが集めやすく、トランスフォーマーを使った技術を作りやすい。
文章の概念間のつながりがたくさんのquery/key/valueの組み合わせで覚えられれば、かなりまともな文章を生成できるし、異なる言語間の翻訳もできる。しかし、元データが言語だけだから身体知がなく、生物が持つ真の知性を獲得できない。トランスフォーマーのひとつであるGPT-3は算数があまりできないことがGPT-3の製作者自身の論文により言及されている。2桁の算数はかなりできる。23+56なんてのは世界中のネットを検索すればどこかに載っていただろうからだ。しかし、桁数の多い算数例えば23456+78901なんてのはネットに載っていた可能性は低い。だからそのような算数は間違う。小学生なら2桁の算数が筆算でできれば、3桁だろうが4桁だろうができる。GPT-3は数を理解している訳ではなく、単に覚えたことを適当に吐き出しているだけだ。小学生ほどの知恵もないこれらのただの機械をAIと呼ぶ連中はどうかしている。
特化型AIをAIと認めない私のようなAI原理主義者は、ディープラーニングではAIは実現できないだろうと思っている。

2023年1月28日土曜日

e-Taxソフトはかなりマシになったものの

 e-Taxで申告するようになって15年くらい経つ。最初のソフトはかなりひどいものだったが、少しずつマシになって今年のバージョンはマイクロソフトのオフィスソフトくらいのひどさにまで進歩した(ほめている訳ではないので念のため)。こうなってくると、e-Taxのソフトの作りよりも税制のまずさの方が目立ってきた。これ以上e-Taxを使いやすくするためには税制を改革するしかないだろう。

以前からなんども言っているが、文系の連中は頭が悪いので、文系の連中が作った法律は税法だけでなくほぼすべての法律が合理的ではない。そのためその法律に沿って行動している国民が迷惑している。重要なことは合理的な思考ができる理系の人に決めさせた方がよい。文系の連中が考えることはとにかく合理性がない。明らかに無駄なことを強要するくせに、大事なことはしない。こういうのをバカというのだ。

2022年12月9日金曜日

microsoft製品を使うのは人類にとっての愚行だ

久しぶりにwindows PCで文書処理をしたが、マイクロソフト社ソフトウェアの出来の悪さにはほとほとあきれた。私はlinuxとmacで暮らしているので普段は実害はない。今日は書類を提出するのにwordを使うことと、メールを書くのにoutlookを使うことを強要される事態になった。会社のPCなのでwindowsしかないのだ。
wordの書類には文字列が二つ書いてあって、どちらかに〇をつけろとのことだ。挿入メニューから図形の楕円を選んで置いた。ところが、楕円を置くと置いた先の文字列が動いて、楕円の位置から逃げる。こんなことは初めてだ。嫌がらせとしか思えない。しばらく試行錯誤して、嫌がらせが発生するのは文書に錨マークが表示されたときだと分かった。錨マークが消せないかネットで調べると、これはアンカー機能であり消せないと分かった。マイクロソフトのサポート掲示板に行くと、アンカー機能をデフォルトでオフにする選択肢を付けろと怒りの声であふれていた。しかし回答者は「仕様です。こんなときに便利です。」としか言わない。その回答にも怒りの声が続々と続いた。何なんだこの会社は。
そしてoutlook。以前にも書いたが入力文字列を途中で自動改行する機能をオフにできない。余計なお世話だし、迷惑行為だ。改行位置を何千文字も先にできるのなら無視できるが、最大文字数は100文字強にしか設定できない。自動改行されたことはメール送信前に確認できない。今日も契約先に出したメールを後で読んでみたら、妙なところで改行されていて、読みにくい上に見苦しい。文章を推敲しないで送る間抜けと思われたかもしれない。
20年以上前からマイクロソフトの製品がいかに悪いかというのを周りに言いふらしてきたが、理系の人しかそれを理解してくれない。文系の連中はPCというとwindows搭載機しか思い浮かばないようだ。マイクロソフトの製品が安いとか無料であるなら、使いにくくても使う理由があるが、マイクロソフトの製品は競合製品の中で一番高価だ。使いにくいものをわざわざ金を出して使うってバカなのか。安くてもっと良いものがあるのに。
最近はちょっとコンピュータをかじった若造が「マイクロソフトもカーネルの作りは良い」とか分かった風なことを言うのだが、バカじゃないかと思う。windowsのカーネルが良いと言う理由は、特定のアプリしかPCに入れていないからだろう。それならwindowsもちゃんと動くかもしれない。しかしPCはいろいろな用途に使えることが利点だから、人によっていろいろなアプリを動かすのが一般的だ。そのアプリの行儀が悪くてもOSはきちんと制御して正しく動かないといけない。それがまともなOSカーネルということだ。自分の狭い使い方しか想定できないバカプログラマが書いたコードだからwindowsとその上のアプリはひどい動作をするのじゃないのか。
windows updateは何時間もの間PCを使えなくする上にその間は電力を消費する。地球の歴史でこれまでwindows updateによりどれだけ無駄な電力が浪費されたことか。仮想通貨のトランザクションに次ぐ環境破壊だ。windows updateに失敗すると場合によってはOSを再インストールするはめになる。バックアップをしていなければデータを失う。linuxとmac osでのupdateは速く、失敗する可能性はwindowsの百分の1だ。そして失敗しても再起動すれば回復する。なぜ大衆はできそこないのwindowsなんかを使う気になるのか不思議でしょうがない。
地球上から何かひとつ消してよいと言われたら、温暖化ガスの9割か、血を吸う種類の蚊かと思っていたが、マイクロソフト社とそのソフトウェア製品を消すのがいちばん人類のためかもしれない。

linuxは最初からよくできていたがmac osは最初はwindows並にひどかったことを言い添えておく。漢字talkやmac os 8や9はwindows並にフリーズしてひどいものだった。mac osがまともになったのはmas os Xからだ。そしてマイクロソフト製品でもwindows95以前のMS-DOSはよくできていた。良い製品は時代とともに変わる。今良いのはlinuxとmac osだが、将来は変わるかもしれない。

2022年11月9日水曜日

ページキャッシュの扱いに関してwindowsは設計ミスがあるのでOSがフリーズする

windows PCの電源を何日間も連続で入れておくと、メモリ使用量が徐々に増え、やがてフリーズしてしまうことが良く知られている。これまでmicrosoftのサポートコミュニティ何十回と質問されたが、microsoftの中の人はわざと論点をずらして回答するので一度も質問に対してきちんと回答されたことがない。OSの設計ミスなので回答しようがないのだろう。
私が32GBのメモリを搭載したwindows PCで検証したところ、1週間ほどで32GBのメモリを使いつくしてフリーズすることが確認できた。100%再現性がある。メモリ不足になると、タスクマネージャーが起動できないし、シャットダウンメニューを出すことすらできなくなり、強制電源断以外には回復方法がなくなる。
何がメモリを消費しているか調べるとページキャッシュであった。ページキャッシュはファイルシステム(HDDやSSD)に対するキャッシュのことだ。ファイルシステムからデータを読み出すときはそのデータをメモリ上にもコピーする。次に同じデータを読み出すときはファイルシステムからではなくメモリから読み出せば速い。ファイルシステムへデータを書き込むときは、そのデータをメモリ上に書き込んで書き込んだつもりになる。後で機会があるときにメモリ上のデータをファイルシステムに実際に書き込む。書き込んだつもりで済ませるので書き込みが速い。このデータを置いておくメモリをページキャッシュと呼ぶ。ページキャッシュのおかげでファイルシステムの読み書きが高速になる。
ページキャッシュのうち、読み出しに使われるキャッシュはいつ解放(消去)してもかまわない。大元のデータはファイルシステムに存在するから、キャッシュがなくなっても読み出しが遅くなるだけだ。それに対して書き込みに使われるキャッシュは、キャッシュ上のデータをファイルシステムに書き込んだ後でないと解放できない。書き込む前にキャッシュを解放してしまうと、本来書き込むはずだったデータが消えてしまいファイルシステムに書き込まれないことになるので、OSやアプリが誤動作してしまう。
この書き込み前のページキャッシュがメモリを消費してwindows OSはフリーズする。windows OSは、ページキャッシュを解放すべきときにしないという重大な設計ミスがある。まっとうなOSの設計ポリシーでは、OSやアプリに必要なメモリが足りなくなったとき、ページキャッシュを解放する。ファイルシステムを高速化するページキャッシュにメモリを使用するより、OSやアプリにメモリを使用する方が優先度が高いので当然のことだ。
書き込み前のページキャッシュを解放するときには、ページキャッシュの内容をファイルシステムに書き込まなくてはならない。この作業をsyncとかflushと呼ぶ。この作業はOSが管理していて、定期的に、また必要なときにsyncを行っている。必要なときというのは、例えばメモリが足りなくなったときだ。
linuxの実験では、ユーザープログラムがメモリを必要としたとき、自動的にOSがページキャッシュを解放している。普通にOSを設計したらこうなる。ところが、windowsはこれをしない。メモリが不足したらページキャッシュをsyncして解放すればいいだけなのにしない。ページキャッシュが永遠にメモリを使用していて、使用量が増えることはあっても減ることはない。これではいくらメモリを積んでいてもやがてメモリ不足になり、windowsはフリーズしてしまう。
フリーズを防ぐためにはユーザーはwindows PCを2,3日おきにシャットダウンかサインアウトをしなくてはならない。シャットダウンかサインアウトを行うと、ページキャッシュはsyncされてメモリは解放される。それ以外にページキャッシュを解放する方法がない。
この仕様というかバグのコードがどこに書かれているか私は知らない。これだけ有名なバグなのに未だに直せていないということはmicrosoftの中の人も分からないのではないかと疑っている。アプリの行儀が悪いときだけこの現象が起こり、行儀の悪いアプリを自動的にkillできないのでOS側をいくら修正しても直らないのか。行儀の悪いアプリが管理しているメモリなら仕方がないが、ページキャッシュはOSが管理しているのだからアプリに関係なく解放できるはずなのだが。
windows 7以前での情報だがmicrosoft サポートページでこの問題の解説がある。メモリ管理に需要ベースのアルゴリズムを用いているのが良くないと読める。その後OSのバージョンアップやパッチにて改善しようとしたらしいが、うまく行っていない。需要ベースで考え無しにページキャッシュにメモリを割り当てるのを止めない限り、問題は解決しないだろう。