アプリ開発日誌
2016.11.17
アプリのセキュリティ対策って何をしたらいいの?
大手レンタルサーバ会社や海外の超有名Webメールサービス会社など、個人情報が流出したりというニュースが相次いでますね。
これらは犯罪者が「盗んだよ」と公表したり、あるいは不正アクセスを検知して調査した結果判明したものだったりと、露呈したことが前提にあります。
そのため、企業側が知らないうちに情報漏洩してしまっているというケースも少なからず存在すると思われます…
そうならないためにも、各企業のアプリ担当者さまも開発会社に丸投げではなく、少なからずセキュリティ対策について知っておく必要があります。
ヤフーさんなんかはラック社と連携して、こんな演習を行っているようです。
ヤフーのような一流企業でも、ハッカーからの攻撃は防ぎ切れない様子…
本来ここまでやべきなのかも知れませんが、予算などの兼ね合いでなかなかできないですね。
セキュリティ対策と一言で言っても、端末自体にパスコードロックをかけるとかOSはバージョンアップしとくとかの基本的なところや、アプリから情報流出しないようにするためのシステム的なところまで様々です。
そんなわけで、アプリを作りたいんだけどセキュリティ対策って何をしたりいの?を整理してみました。
セキュリティ対策の実施内容
cでできるセキュリティ対策としては、こんなことがあげられます。
ユーザの不注意による問題への対策
利用者が気をつけることで問題を未然に防ぐことができるものもあります。
アプリ側でどんなセキュリティ対策を施していても、端末を盗まれてしまったら元も子もありません。
パスワードを複雑なものにするなど、基本的なことがとても大事だったりします。
不正アクセスやウィルスなどへの対策
悪意のあるプログラムなどからアプリを守るために、アプリのシステム内に組み込むセキュリティ対策です。
防壁となる仕組みを複数導入しておくことで、万が一突破されても被害を最小限に留めることができます。
実際に導入しているセキュリティ対策
基本的には、以下に対してそれぞれ対策を入れる、になります。
・不注意などユーザの行動に起因する問題を防ぐ
・悪意あるプログラムからの攻撃を防ぐ
・犯罪者からの攻撃を防ぐ
具体的には何をするの?というと、アプリでできるセキュリティ対策としてこんなことを行います。
・アプリ起動時にロック解除用のパスワード入力を求める
→他人が勝手にアプリを開けなくします。
・ログインセッションは一定期間で自動的に切る
→ログアウトし忘れに起因する流出を防ぎます。
・アカウント登録時に使用した端末以外からアクセスがあった場合、メールで通知する
→不正ログイン対策として、心当たりのないアクセスが行われた場合にユーザがそれを察知することができます。
・データ暗号化
→Android端末のSDカードにデータを保存した際、他のアプリやウィルスから読み取られ無いようにします。
・不要な権限(通話しないのに通話機能をONにするなど)を付与しない
→ウィルスや悪意のあるアプリに踏み台として使われにくくします。
・SSL/TLSでの暗号化通信
→通信時に内容を他者に読み取られないようにします。
・旧バージョンのOSには対応しない
→そもそも脆弱性に対応しきれていない端末/OSにはインストールさせないのが一番です。
・ソースコードの難読化
→アプリのプログラムを解読(リバースエンジニアリング)されにくくします。
さらに、Webサーバにあるデータベースへアクセスしたり、Web管理画面でコンテンツを更新したりできるようにするなどの仕組みが入ると、Web側のセキュリティ要件も必要になります。
いきなりそんなこと言われてもセキュリティの仕組みなんてわかんねーよ、という意見が出そうですが…
とは言え上の例にあげた対策などの実施検討は、開発会社に丸投げするのではなくきちんと社内で検討いただきたいです。
何に対してどう対策されていて、何が脅威となるのか。
ちなみに、IPAさんから「中小企業の情報セキュリティ対策ガイドライン」が公開されました。
経営者や情報管理部門のかた向けに書かれたものになりますが、アプリの導入を検討されている担当者さまもこれに該当しますのでぜひこーいうドキュメントに目を通していただきたいです。