Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
情報セキュリティ入門(バックエンド編)
Search
ti-aiuto
April 27, 2024
Technology
130
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
情報セキュリティ入門(バックエンド編)
ti-aiuto
April 27, 2024
Other Decks in Technology
See All in Technology
UniFi(ユニファイ)AIカメラの現場活用
ludicmind
1
440
Benchmarking Disaggregated Serving on vLLM + Dynamo with a Real Coding-Agent Workload
nttcom
1
190
子育てエンジニアの可処分時間が減っても成長を諦めない戦い方
sudoakiy
6
4.6k
Optunaの最新リリースv5.0について
pfn
PRO
0
120
大型犬好きによるPugの紹介
yamanoku
1
160
re:Invent初参加で変わったこと、2回目にやってみたいこと(JAWS-UG彩の国埼玉 #12)
mhrtech
2
220
1つのリクエストを追って理解する - llm-dのP/D分離
akhino
1
160
自作バイナリを動かす「入口」8選
puhitaku
2
1.3k
SAENM ~Jupyterで残すPoCの試行錯誤、未来の自分と仲間を助ける記録!~
terapyon
0
110
AIカンパニーへの転換を支えた、エンジニアの仕事の再定義
kworkdev
PRO
2
1.2k
AIがコードを書く時代に、エンジニアは何で自分の価値を証明するのか / In an era where AI writes code how do engineers prove their value
carta_engineering
3
1.1k
JAWS-UGグッズ職人仕事の流儀
kentapapa
0
100
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
100
6.3k
Rails Girls Zürich Keynote
gr2m
96
14k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Design in an AI World
tapps
1
350
Are puppies a ranking factor?
jonoalderson
2
4.1k
A Modern Web Designer's Workflow
chriscoyier
699
190k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.5k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
890
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
490
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.9k
Building the Perfect Custom Keyboard
takai
2
910
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
930
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
まとめ • 情報システムのセキュリティを損なう要因はいろいろある • 三要素のどれが侵害されているのか? • 人為的なもの?人為的でないもの? • 悪意のあるもの?ないもの? •
外部から?内部から? • そういうのをなんとかするために頑張っている人たちがいる!