サイバーセキュリティ学科の卒論

とあるマレーシアの大学でコンピューターサイエンス学部のサイバーセキュリティ学科を専攻しております。大学の卒論がセキュリティに関連したシステムを作らなければいけなく、大変苦労しました。情報のソースも少なく、一学生がセキュリティシステムを一から構築するのは非常に大変だったため、楽にやれる方法を共有したくこの記事を書いています。

自分がやった卒論の内容はグラフデータベースを使用した、銀行の不正検知と可視化ツールについてです。

まずグラフデータベースとは何なのか、何でグラフデータベースをメインのセキュリティシステムとして採用したのか?について話していきます。

グラフデータベースとはデータベースを従来のリレーショナルデータベース型ではなく、ネットワーク状で表したものです。これにより、データベース間の繋がりをより可視化しやすくなり、点と点の繋がりがよりわかりやすくなったものです。例として、今までは家族との繋がりや恋人との繋がりをリレーショナルデータベース状で探すと時間がかかっていましたが、グラフデータベースを使うことですぐに彼らと関連している情報を可視化して見つけやすくできることができました。これにより、すぐに人とのつながりを可視化できるようになり、人を探す時間がより効率化されました。これは様々な場所で応用することができ、例えば震災が起きた際に、津波などで別れ離れになった際に、市などが安否確認を行う際にグラフデータベースを使用すれば彼らの家族の安全性がすぐに見つかることができます。セキュリティの観点からも、情報がハッキングされた際に、データベースの可視化ツールを使用することで、感染の拡大をしきる前に感染拡大する前の情報を早めに切断することができるなど、グラフデータベースのセキュリティに応用できる幅は高いと考えたからです。

また、グラフデータベース自体がまだメジャーではないので、教授や教師がそこまで精通してないからこそ、レベルが低いシステムでもある程度許容してくれるだろうという考えで、採用しました。

今回自分が作るシステムである銀行の不正検知と可視化ツールとはどのようなものかというと、下記の画像になります。

グラフデータベース

これは個人という存在とその周りにあるものをグラフデータベース状にまとめたものです。個人から派生する、住所、電話番号、証明書、クレジットカード、銀行カードなどを可視化しました。

およそ15人ほどの情報をそれぞれグラフデータベースで作成しました。

では次にどのような条件下であれば、銀行の不正検知を見つけられるかについて考えます。銀行のログシステムを追うのはグラフデータベースからは難しそうなのでできません。なので、不正利用は残念ながら今回は追えません。

その一方で、グラフデータベースの強みとして可視化されたことにより、誰がどこに住んでいるのかがわかりやすくなりました。これにより、架空の住所を使用した人間や、同じ証明書(車の免許証など)を使用している人間がいればこれは不正検知に役立てると思います。

そのため、グラフデータベースで使えるマッチシステムを使い、同じ証明書を使っている人や同じ住所に住んでいるのに、名前が違う人が多くいるのを怪しいとするマッチングをプログラミングします。また、彼らのクレジットカードの上限額や現在のバランスを足したものをファイナンシャルリスクとし、危険度が高い順にマッチさせていくシステムを作ります。

その結果、ファイナンシャルリスクが高い人や怪しい人物をリストアップすることができました。

正直、穴だらけなシステムですが自分で作るセキュリティシステムなんてこれが限界だと思います。卒論なんて、時間を使うだけ無駄だと考えているので、もし興味があればアイディアをパクってください。

詳しい内容やプログラミングコードは後日まとめて書こうと思います。とりあえず、レポートをまとめなければ・・・


この記事が気に入ったらサポートをしてみませんか?