クラウドストライク「20個のメモリ領域で21個目を読み込んだらヌルポした」 ブルスクの原因公表

サムネイル
1 : 2024/08/10(土) 08:36:54.12 ID:W6uhXHYm0

日本時間の2024年7月19日に発生したCrowdStrikeの大規模障害では、850万台のWindows端末が影響を受けて、
航空業界や病院、政府機関など膨大な量のシステムが動作不能に陥るなどの甚大な被害が生じました。
今回の大規模障害について、CrowdStrikeが根本原因分析のレポートを発表しました。

中略

CrowdStrikeは「コンテンツインタープリターは20個の値しか想定していませんでした。
したがって、21番目の値にコンテンツインタープリターがアクセスしようとすると、入力データ配列の末尾を超えて領域外のメモリが読み取られ、
その結果システムがクラッシュしました」と報告しています。

ブルースクリーンオブデスで世界的な障害を引き起こしたCrowdStrikeが根本原因分析を発表
https://gigazine.net/news/20240809-crowdstrike-root-cause-analysis/

2 : 2024/08/10(土) 08:38:44.46 ID:FEhzxnSR0
はい
3 : 2024/08/10(土) 08:38:53.87 ID:zv6mXGOG0
だからRustにしておけと…
6 : 2024/08/10(土) 08:40:04.77 ID:uw/aJLdK0
>>3
くそやん
16 : 2024/08/10(土) 08:44:07.47 ID:ZdUCPCw60
>>6
なんで?
メモリ安全を保証できるなんて素敵やん、扱いは難しいけど
19 : 2024/08/10(土) 08:46:13.85 ID:uw/aJLdK0
>>16
扱えるエンジニアが極小
流行らないで終わる運命
4 : 2024/08/10(土) 08:39:03.23 ID:uRzj2mE+0
あるあるw
5 : 2024/08/10(土) 08:39:19.72 ID:+bSSRXZo0
セグメンテーションフォルトはもういやだおー
7 : 2024/08/10(土) 08:40:05.57 ID:ZIcntb7q0
ぬるぽしただと!?
8 : 2024/08/10(土) 08:40:11.60 ID:9UE21Bom0
やめなよ
10 : 2024/08/10(土) 08:41:37.33 ID:5t0hQMEd0
Cでプログラム書いてるとよくある
11 : 2024/08/10(土) 08:42:23.51 ID:dXcMzwv70
UTやってないのかよ
12 : 2024/08/10(土) 08:42:42.05 ID:fUe3U/Ef0
興味ないね
13 : 2024/08/10(土) 08:42:55.16 ID:vYP6shUL0
ブラックロックがトランプの〇を見越して関連株売りに出したら
トランプが〇ななかったからここがイカレたってことにしてキャンセル扱いにしたってまじ?
14 : 2024/08/10(土) 08:43:16.53 ID:5m7y7r170
でどう責任取るの?
17 : 2024/08/10(土) 08:44:42.42 ID:/0B4bRO/0
Cあるあるだけどテストですぐに分かりそうなもんだが…
18 : 2024/08/10(土) 08:45:05.62 ID:DVTlPLWU0
21とか朝鮮人が大好きな数字じゃん
20 : 2024/08/10(土) 08:46:57.85 ID:8I4SEouL0
メモリリークが許されるのは学生までやろ(´・ω・`)
21 : 2024/08/10(土) 08:48:34.25 ID:5WkR1M/k0
そんなん設計段階で読みに行かないようにするだろう・・・
なんでそれが分からなかったのか
うんぜん万円貰ってるんじゃなかったのかい?アホだな
22 : 2024/08/10(土) 08:49:57.59 ID:FwqMzWGH0
>>1
カウンターが0スタートで0~19 なのに1スタートと勘違いして 1~20だと思って20番目を読み込もうとしたのか
25 : 2024/08/10(土) 08:51:29.92 ID:/0B4bRO/0
>>22
上限考えずにポインタ変数をインクリメントしてたとかかも。
54 : 2024/08/10(土) 09:20:42.42 ID:f4rje+B90
>>22
まったく違う

単に次要素に書き込もうとしただけだ

勉強しろよ、阿保

23 : 2024/08/10(土) 08:50:14.98 ID:qJKx22sF0
デルタ航空「ガッ」
26 : 2024/08/10(土) 08:57:06.33 ID:xoPniwBr0
これはみんな心当たりあるだろ
叩けないな
笑って許そう
28 : 2024/08/10(土) 08:59:14.39 ID:xuZmeIjy0
>>26
許されない
30 : 2024/08/10(土) 09:00:38.32 ID:skEMjXj10
>>26
フリーソフトなら許すが、シェアウェアなら許さん
49 : 2024/08/10(土) 09:17:53.50 ID:6PB0oTuC0
>>26
PG1年目にありがちなバグだな
27 : 2024/08/10(土) 08:58:42.77 ID:Aihhetkm0
凄い!世界中から目の敵にされてたのに、SEから「これは許した」の空気になってきてる!
29 : 2024/08/10(土) 09:00:31.74 ID:xuZmeIjy0
ちゃんとReDimしないからこうなるんや
31 : 2024/08/10(土) 09:02:02.37 ID:1zkmj3d00
きもちわかる
32 : 2024/08/10(土) 09:02:17.44 ID:H8A4Q7tG0
配列サイズを即値でハードコーディングしてるのか?
37 : 2024/08/10(土) 09:06:27.02 ID:jZvx8+M90
>>32
速度重視の場合は固定化した方が良い
51 : 2024/08/10(土) 09:18:33.03 ID:H8A4Q7tG0
>>37
いや、ヘッダで定義するもんじゃねえの?
コンパイルしちゃえば一緒だし
33 : 2024/08/10(土) 09:02:35.68 ID:n+2tO4rG0
ファミコン時代のファイファンの数々のバグ技もこれだろ
34 : 2024/08/10(土) 09:03:34.86 ID:FWUesODr0
こんなのツールで自動検出出来るやろw
39 : 2024/08/10(土) 09:06:58.98 ID:fDGDyVId0
>>34
コンパイルの警告メッセージで出る言語もある
35 : 2024/08/10(土) 09:04:59.18 ID:etZISWwz0
ブルスクって何度見てもエッチな文字に見える
38 : 2024/08/10(土) 09:06:44.04 ID:bxSbUwoY0
これって単にRustで書けばいいだけなのに資本収益デカ過ぎて怠けていただけでこんなの根本原因じゃないよな
じゃあ他の配列メモリ境界踏んでないのかどうやって確認してたんだってなるし
40 : 2024/08/10(土) 09:08:33.45 ID:jZvx8+M90
自動テストの重要性がよく分かる事件だわな
まぁテストコードって作るの苦痛なのはよく分かるけど流石にこの手のソフトウェアには必須だろ
41 : 2024/08/10(土) 09:10:59.63 ID:fDGDyVId0
最大最小のテストデータは必要、異常値のテストも必要
さらね関数の入力の最大最小・異常値をチェックするロジックも当然埋め込んでいかないといけない
50 : 2024/08/10(土) 09:18:23.91 ID:DBN1nyVx0
>>41
関数の方で入力値のチェックしてくれる仕様だとわかっていても
関数を使う側でも入力値のチェックしてしまうんだよね
42 : 2024/08/10(土) 09:11:02.36 ID:iFcxRuO30
想定しないもんなの?
43 : 2024/08/10(土) 09:12:11.25 ID:jWXr9mbY0
基本が出来てねーわ
損害賠償ちゃんと払えよ
44 : 2024/08/10(土) 09:12:19.24 ID:sGRZFlq20
クックック黒マテリア
45 : 2024/08/10(土) 09:13:25.51 ID:YMF0X25T0
デバドラみたいなものでやらかしたんだろ?
ハード叩こうとすると起こりうることじゃねぇかなぁ
テストが多分甘々だったのだろうけど
48 : 2024/08/10(土) 09:16:38.76 ID:fDGDyVId0
>>45
標準コーディングみたいなもの出回ってるはずなんだけどね
ゴリゴリ作ってテストが甘いんだろうな
46 : 2024/08/10(土) 09:14:02.99 ID:vFFz/kni0
日本みたいに中抜き下請けに丸投げしてたんじゃあ
53 : 2024/08/10(土) 09:19:22.26 ID:oIKvg2KT0
>>46
C言語の下請けできるBPなんて今どき居る?日本で
58 : 2024/08/10(土) 09:22:17.04 ID:iKU3dUt50
>>53
オレオレ。オレだよオレ!
47 : 2024/08/10(土) 09:15:19.49 ID:ZMwOkoLk0
そんな事もあろうかと!

見込んで余分に領域確保しときませんか?
まー、上から必要ない言われたら従うしかありませんわ彡(‐)(‐)

52 : 2024/08/10(土) 09:18:45.16 ID:mpTOl3kg0
普通のアプリならともかく、デバイスドライバだろ?
Microsoftが何らかのチェックして、署名してるんじゃなかったっけ?
56 : 2024/08/10(土) 09:21:47.79 ID:ZMwOkoLk0
署名

だけはしとる

中身?彡(゚)(゚)
はて?

57 : 2024/08/10(土) 09:21:52.54 ID:7OJGIEYk0
バッファオーバーランはスレタイに入れないと
んでっ! んでっ! んでっ! (にゃあ) にゃ~んでっ! かまって かまって 欲しいの
って書けないだろ
59 : 2024/08/10(土) 09:22:38.61 ID:UEki4ker0
二十世紀によく見たバグや
なんの言語だ
60 : 2024/08/10(土) 09:23:25.73 ID:z3gbdytS0
ヌルポじゃない
領域外のメモリが読み取られって書いてある
61 : 2024/08/10(土) 09:25:05.12 ID:aIoR3T910
この程度でダウンするOSって・・・
62 : 2024/08/10(土) 09:25:11.84 ID:fDGDyVId0
デバドラでC以外の言語使うのか?
63 : 2024/08/10(土) 09:25:12.54 ID:0LQnp/ja0
クラウドストぬるぽ
64 : 2024/08/10(土) 09:27:04.90 ID:b9KzBAKn0
プログラミング習いたての学生かよ
65 : 2024/08/10(土) 09:28:13.74 ID:AJ+MTZP30
お前らも昔良くやっただろこれ

コメント