Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
情報セキュリティ入門(バックエンド編)
Search
ti-aiuto
PRO
April 27, 2024
Technology
0
66
情報セキュリティ入門(バックエンド編)
ti-aiuto
PRO
April 27, 2024
Tweet
Share
Other Decks in Technology
See All in Technology
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
5
37k
LayerXにおけるLLMプロダクト開発の今までとこれから
layerx
PRO
4
1.5k
require(ESM)とECMAScript仕様
uhyo
4
1k
LLM開発・活用の舞台裏@2024.04.25
yushin_n
3
1.4k
CockroachDB はどのくらい「しぶとい」のか? / How tough is CockroachDB?
kota2and3kan
9
4.3k
Cloudflare WorkersがPythonに対応したので試してみた
miura55
0
120
【NW X Security JAWS#3】L3-4:AWS環境のIPv6移行に向けて知っておきたいこと
shotashiratori
1
730
自らを知り外と繋がる、日経のエンジニア採用とDevRel活動/devreljp92
nishiuma
2
200
「知的単純作業」を自動化する、地に足の着いた大規模言語モデル (LLM) の活用
nrryuya
8
6.8k
Gemini, Google's Large Language Model
glaforge
0
130
コードファーストの考え方。 Amplify Gen2から学ぶAWS次世代のWeb開発体験
yoshiitaka
2
550
Dungeons and Dragons and Rails
joelq
0
160
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
12
1k
Product Roadmaps are Hard
iamctodd
45
9.8k
5 minutes of I Can Smell Your CMS
philhawksworth
199
19k
Typedesign – Prime Four
hannesfritz
36
2.1k
Practical Orchestrator
shlominoach
183
9.7k
Learning to Love Humans: Emotional Interface Design
aarron
267
39k
Imperfection Machines: The Place of Print at Facebook
scottboms
261
12k
How to Ace a Technical Interview
jacobian
273
22k
4 Signs Your Business is Dying
shpigford
176
21k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
22
1.4k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
155
14k
Reflections from 52 weeks, 52 projects
jeffersonlam
345
19k
Transcript
情報セキュリティ入門 バックエンド編 アプリの裏側はどうなっている? 某連盟東海支部 ti-aiuto
目標 • 情報セキュリティに関連する基本的な用語や考え方がなんとな くでいいからわかっている状態 • 情報セキュリティの三要素 • クライアント・サーバ・WEBサーバ • セキュリティインシデントのよくある原因と関連する概念
• 参考事例 • そういうことを頑張ってる人たちがいるんだ~と思ってくれれ ば
ここでいう「情報システム」 • 情報のやりとりによって利用者の目的を達成する全体の仕組み のこと • 「ネットで買い物をしたい」 • 「スマホでメッセージを送受信したい」 • オンラインゲームとかも似たようなもんかな
• 「写真や文書などのデータを共有したい」 • 「ネットで動画などのコンテンツをみたい」
情報セキュリティの三要素 • 機密性:データを流出させない • 「登録したメールアドレスやパスワードが流出した!」 • 可用性:システムが正常に使える状態 • 「オンラインゲームを起動してもエラーと表示されて動かない!」 •
完全性:データが失われない・改ざんされない • 「セーブデータが消えている!レベルが勝手に変わっている!」 ※いろんな論点が出てきて混乱したときは、この中にどれに当てはまるか?を考えてみるといいかも
クライアント/サーバシステム クライアント サーバ インターネット などの通信路 と呼ばれるコンピュータ パソコンとかスマホに 入れてるアプリ ◦◦ちょうだい! 〇〇を実行して!
◦◦ちょうだい! 〇〇を実行して! どうぞ 実行したよ どうぞ 実行したよ 要求(リクエスト) 応答(レスポンス)
クライアント/サーバシステム クライアント サーバ スパゲッティちょうだい どうぞ serve: 提供する
WEBサーバ • WEBサーバ • WEBブラウザで色々ページ見るときの通信相手のサーバのこと • WEBブラウザ • WEBサーバと通信してWEBページを見るためのアプリ •
ChromeとかSafariとかEdgeとかFirefoxとか • WEBの技術はHTTPという規格で実現されている • 便利なのでWEBブラウザ以外の場所でも広く使われている HTTPが使われてそうなアプリの例(推測)
サーバの物理的な実体 • データセンタという建物の中にコンピュータが設置されている ことが大半 • 自分でコンピュータなどの機材を調達して管理:オンプレミス • 第三者が管理するコンピュータをサブスクのように利用:クラウド
裏側では様々なコンピュータが役割分担 WEBサーバ データベース サーバ ◦◦さんの データちょうだい! どうぞ WEBブラウザの要求に 応えることに専念 各種データを正確に
管理することに専念
ファイアウォール ファイアウォール 怪しそうな 要求をブロック 設定ミスや脆弱性(製品に含まれるセキュ リティ上の欠陥)を狙って攻撃
アクセス殺到への対策 • アクセス殺到で落ちる:「可用性」が損なわれている状態 https://www.asahi.com/articles/ASP5B7394P5BUNHB009.html https://www.nikkei.com/article/DGXMZO60782230V20C20A6000000/
WEBサーバを強化(=スケール)しよう 余裕のあるところに 振り分ける ロードバランサ 台数を増やして強化 (=スケールアウト)
スケールの限界 在庫数・座席の予約状況・予約枠の残数などは一か所で 中央集権管理する必要があるため、 データベースサーバを増やすわけにはいかない =>ここの性能の限界が全体の限界に(=ボトルネック)
スケールのしやすさ • データを読み出す処理はスケールしやすい • 例:ニュース記事を読む • 例:ログインして会員情報を見る • データを書き込む処理はものによってはスケールしづらい •
どんどん新しいデータを登録していくだけならまだマシ • 例:SNSに書き込みを行う • 例:新しい文書を作成する • ※インターネット投票アプリもこっちに入りそう • 処理がダブらないよう慎重に管理(=排他制御)が必要だと大変 • 例:限られた在庫数の商品・枠数のチケットを購入する
余談:なんとかしてスケールさせる方法 • 非同期化:見かけ上だけ「注文完了」画面を先に表示してしま い、排他制御により時間のかかる注文処理は裏側で実行する • 「他の人が先に購入していたので注文できてなかった」もあり得る https://techblog.yahoo.co.jp/entry/2023020230408203/
故障や不調への対策 • 故障で止まる:「可用性」が損なわれている状態 https://www.asahi.com/articles/ASNB13T3CNB1ULFA00B.html https://xtech.nikkei.com/atcl/nxt/news/24/00378/
冗長構成 いざというときのために 同じ組み合わせをもう一つ準備しておき (=冗長構成)、 問題が発生したときに切り替える (=フェイルオーバー) ※失敗することもある
事故、災害や人為的ミスも https://gihyo.jp/article/2023/12/zengin-nttdata https://cafe-dc.com/security/australian-mouse-plague-causes-multiple-network- outages-across-new-south-wales/#google_vignette https://gigazine.net/news/20150820-google-lightning-data-lost/
インターネット側からの攻撃 • DoS(サービス拒否攻撃)・DDoS(分散型サービス拒否攻撃)※F5攻撃 • 大量の要求を送って処理不能な状態にする • Rate Limit(〇分あたり〇回まで)のような制限をかける方法も • 脆弱性や設定ミスを突くことによりサーバに侵入する・不正な操作
を実行させる攻撃 • 機密性・完全性の侵害、ウイルスなど不正なプログラムを仕込む
WEBサーバに不正なプログラムを仕込む https://www.itmedia.co.jp/news/articles/2107/20/news150.html https://www.blueplanet-works.com/column/anti-malware/mining-virus/ https://scan.netsecurity.ne.jp/article/2024/04/26/50934.html
内部経由の攻撃 インターネットにつながっていないコンピュータの場合でも、 誰かがそのコンピュータのデータを利用したり、 そのコンピュータのメンテナンスをしたりしている
内部経由の攻撃 開発や運用・メンテナンスの担当者に悪意のある人が 紛れている場合もある(=内部犯行) そのような場合も含めてシステムに対して操作された内容を記録 しておく仕組み(=監査ログ)
開発運用体制も含めたセキュリティ対策 https://note.com/mickmack/n/n8aac06454ab4?sub_rt=share_h https://xtech.nikkei.com/atcl/nxt/column/18/00138/030501482/ https://techtarget.itmedia.co.jp/tt/news/1410/29/news04.html
標的型攻撃 特定の組織等を攻撃することを目的として ウイルス付きメールを送り付けるなど攻撃 (=標的型攻撃)
標的型攻撃 https://wired.jp/2016/04/30/german-nuclear-plants-fuel-rod- system-swarming/ https://www.asahi.com/articles/ASRBS5JMDRBSUTIL025.html
まとめ • 情報システムのセキュリティを損なう要因はいろいろある • 三要素のどれが侵害されているのか? • 人為的なもの?人為的でないもの? • 悪意のあるもの?ないもの? •
外部から?内部から? • そういうのをなんとかするために頑張っている人たちがいる!