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
同じ様なUIをiOS/Android間で合わせるヒントNo.2
fumiyasac0921
1
110
【NW X Security JAWS#3】L3-4:AWS環境のIPv6移行に向けて知っておきたいこと
shotashiratori
1
730
M5と自作基板をくっつけてみた〜M5 Japan Tour 2024 Spring 福冈 (Fukuoka|福岡)〜
keropiyo
1
250
Kaggleで学ぶ系列データのための深層学習モデリング
yu4u
6
780
Babylon.jsと色々なものを組み合わせる:ブラウザのAPIやガジェットや2D描画ライブラリなど / Babylon.js 勉強会 vol.3
you
PRO
0
190
DX企業CTOとして考える技術への向き合い方
shoheitai
0
120
AWS学習者向けにAzureの解説スライドを作成した話
handy
3
220
LayerXにおけるLLMプロダクト開発の今までとこれから
layerx
PRO
4
1.4k
cgroup v2 で何が変わったのか / TechFeed Experts Night #28
tenforward
2
110
Secrets of a PowerShell "Guru"
guyrleech
1
110
いいたいことちゃんという
tkengo
0
260
Amplify 🩷 Bedrock 〜生成AI入門〜
minorun365
PRO
10
1.1k
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
155
14k
The Illustrated Children's Guide to Kubernetes
chrisshort
32
47k
Design by the Numbers
sachag
274
18k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
21
1.9k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
34
8.9k
It's Worth the Effort
3n
180
27k
RailsConf 2023
tenderlove
9
570
Making Projects Easy
brettharned
109
5.5k
Product Roadmaps are Hard
iamctodd
45
9.8k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
126
32k
Optimizing for Happiness
mojombo
370
69k
Agile that works and the tools we love
rasmusluckow
325
20k
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
まとめ • 情報システムのセキュリティを損なう要因はいろいろある • 三要素のどれが侵害されているのか? • 人為的なもの?人為的でないもの? • 悪意のあるもの?ないもの? •
外部から?内部から? • そういうのをなんとかするために頑張っている人たちがいる!