Share
Embed
Developer-First Security という考え方 / Introduction to Developer-First Security
LOCAL Developer Day Online ’21 /Security というイベントで利用した講演資料です。
イベントページ: https://local.connpass.com/event/219312/
話者: https://twitter.com/lmt_swallow
Takashi Yoneuchi
September 16, 2021
Transcript
60 slides
-
TIJGUKTJOGP %FWFMPQFS'JSTU4FDVSJUZͱ͍͏ߟ͑ํ XIPBNJ ৄࡉIUUQTTIJGUKTJOGPʹ͋Γ·͢ ‣ ถوࢤ :0/&6$)* 5BLBTIJ
‣ גࣜձࣾ'MBUU4FDVSJUZࣥߦһ$50 ‣ ʮ։ൃऀͷͨΊͷɺ։ൃऀʹدΓఴͬͨηΩϡ ϦςΟʯΛୈҰٛͱͯ͠ಇ͍͍ͯ·͢ ‣ ੈͷதͷʢಛʹΠϯϋεͷʣϓϩμΫτνʔ Ϝ͕҆৺ͯ͠ಇ͚ΔੈքΛ࡞Γ͍ͨͰ͢ ‣ ஶॻͳͲ ‣ ʰ8FCϒϥβηΩϡϦςΟʱ ‣ ʰৄղηΩϡϦςΟίϯςετʱ ‣ ւಓ۴࿏ࢢग़ -
TIJGUKTJOGP %FWFMPQFS'JSTU4FDVSJUZͱ͍͏ߟ͑ํ %FWFMPQFS'JSTU4FDVSJUZͱ ‣ ։ൃऀͷ׆ಈݍʹͱ͚͜ΜͰ͍͘4FDVSJUZ ‣ ։ൃऀͷٕज़ελοΫʹͱ͚͜ΜͰ͍͘4FDVSJUZ ‣ ։ൃऀͷखݩʹͱ͚͜ΜͰ͍͘4FDVSJUZ 1
2 3 ࠓ͢͜ͱʢͷ಄ग़͠ʣ %FWFMPQFS'JSTU4FDVSJUZͱ͍͏ߟ͑ํ-0$"-%FWFMPQFS%BZ0OMJOF`4FDVSJUZ -
TIJGUKTJOGP %FWFMPQFS'JSTU4FDVSJUZͱ͍͏ߟ͑ํ ։ൃऀ ηΩϡϦςΟ ܥͷཧ෦ ίʔϙϨʔτ*5 ෦ ӡ༻ऀ ηΩϡϦςΟ
ݚڀऀ ࠪ ΝʔϜ ඪ४Խஂମ $*40 ͦͷଞܦӦ ߈ܸऀ ൜ࡑ৫ ࠃՈ ڭҭऀ ใηΩϡϦςΟʹ ༷ʑͳΞΫλʔ͕ଘࡏ ηΩϡϦςΟ ϕϯμ -
TIJGUKTJOGP %FWFMPQFS'JSTU4FDVSJUZͱ͍͏ߟ͑ํ ։ൃऀ ηΩϡϦςΟ ܥͷཧ෦ ίʔϙϨʔτ*5 ෦ ӡ༻ऀ ηΩϡϦςΟ
ݚڀऀ ࠪ ΝʔϜ $*40 ͦͷଞܦӦ ߈ܸऀ ൜ࡑ৫ ࠃՈ ใηΩϡϦςΟʹ ༷ʑͳΞΫλʔ͕ଘࡏ ηΩϡϦςΟ ϕϯμ ڭҭऀ ඪ४Խஂମ ͜Ε·Ͱ͕ࣗ ͖߹͖ͬͯͨ͜ͱ -
TIJGUKTJOGP %FWFMPQFS'JSTU4FDVSJUZͱ͍͏ߟ͑ํ ։ൃऀ ηΩϡϦςΟ ܥͷཧ෦ ίʔϙϨʔτ*5 ෦ ӡ༻ऀ ηΩϡϦςΟ
ݚڀऀ ࠪ ΝʔϜ $*40 ͦͷଞܦӦ ߈ܸऀ ൜ࡑ৫ ࠃՈ ใηΩϡϦςΟʹ ༷ʑͳΞΫλʔ͕ଘࡏ ηΩϡϦςΟ ϕϯμ IUUQTGMBUUUFDILFOSP ڭҭऀ ඪ४Խஂମ ͜Ε·Ͱ͕ࣗ ͖߹͖ͬͯͨ͜ͱ -
TIJGUKTJOGP %FWFMPQFS'JSTU4FDVSJUZͱ͍͏ߟ͑ํ ։ൃऀ ηΩϡϦςΟ ܥͷཧ෦ ίʔϙϨʔτ*5 ෦ ӡ༻ऀ ηΩϡϦςΟ
ݚڀऀ ࠪ ΝʔϜ ηΩϡϦςΟ ϕϯμ $*40 ͦͷଞܦӦ ߈ܸऀ ൜ࡑ৫ ࠃՈ ڭҭऀ ใηΩϡϦςΟʹ ༷ʑͳΞΫλʔ͕ଘࡏ ඪ४Խஂମ ͜Ε·Ͱ͕ࣗ ͖߹͖ͬͯͨ͜ͱ -
TIJGUKTJOGP %FWFMPQFS'JSTU4FDVSJUZͱ͍͏ߟ͑ํ ։ൃऀ ηΩϡϦςΟ ܥͷཧ෦ ίʔϙϨʔτ*5 ෦ ӡ༻ऀ ηΩϡϦςΟ
ݚڀऀ ࠪ ΝʔϜ ηΩϡϦςΟ ϕϯμ $*40 ͦͷଞܦӦ ߈ܸऀ ൜ࡑ৫ ࠃՈ ڭҭऀ ใηΩϡϦςΟʹ ༷ʑͳΞΫλʔ͕ଘࡏ IUUQTCVHTDISPNJVNPSHQDISPNJVNJTTVFTEFUBJM JE IUUQTQPSUTXJHHFSOFUEBJMZTXJHCMJOESFHFYJOKFDUJPOUIFPSFUJDBM FYQMPJUPGGFSTOFXXBZUPGPSDFXFCBQQTUPTQJMMTFDSFUT ඪ४Խஂମ ͜Ε·Ͱ͕ࣗ ͖߹͖ͬͯͨ͜ͱ -
TIJGUKTJOGP %FWFMPQFS'JSTU4FDVSJUZͱ͍͏ߟ͑ํ ։ൃऀ ηΩϡϦςΟ ܥͷཧ෦ ίʔϙϨʔτ*5 ෦ ӡ༻ऀ ηΩϡϦςΟ
ݚڀऀ ࠪ ΝʔϜ ηΩϡϦςΟ ϕϯμ $*40 ͦͷଞܦӦ ߈ܸऀ ൜ࡑ৫ ࠃՈ ใηΩϡϦςΟʹ ༷ʑͳΞΫλʔ͕ଘࡏ ڭҭऀ ඪ४Խஂମ ͜Ε·Ͱ͕ࣗ ͖߹͖ͬͯͨ͜ͱ -
TIJGUKTJOGP %FWFMPQFS'JSTU4FDVSJUZͱ͍͏ߟ͑ํ ։ൃऀ ηΩϡϦςΟ ܥͷཧ෦ ίʔϙϨʔτ*5 ෦ ӡ༻ऀ ηΩϡϦςΟ
ݚڀऀ ࠪ ΝʔϜ ηΩϡϦςΟ ϕϯμ $*40 ͦͷଞܦӦ ߈ܸऀ ൜ࡑ৫ ࠃՈ ใηΩϡϦςΟʹ ༷ʑͳΞΫλʔ͕ଘࡏ IUUQTGMBUUUFDIBTTFTTNFOUEFUBJM ڭҭऀ ඪ४Խஂମ ͜Ε·Ͱ͕ࣗ ͖߹͖ͬͯͨ͜ͱ -
TIJGUKTJOGP %FWFMPQFS'JSTU4FDVSJUZͱ͍͏ߟ͑ํ ։ൃऀ ηΩϡϦςΟ ܥͷཧ෦ ίʔϙϨʔτ*5 ෦ ӡ༻ऀ ηΩϡϦςΟ
ݚڀऀ ࠪ ΝʔϜ $*40 ͦͷଞܦӦ ߈ܸऀ ൜ࡑ৫ ࠃՈ ใηΩϡϦςΟʹ ༷ʑͳΞΫλʔ͕ଘࡏ ηΩϡϦςΟ ϕϯμ ڭҭऀ ඪ४Խஂମ TIJGUKTJOGP %FWFMPQFS'JSTU4FDVSJUZͱ͍͏ߟ͑ํ ͜Ε·Ͱ͕ࣗ ͖߹͖ͬͯͨ͜ͱ -
TIJGUKTJOGP %FWFMPQFS'JSTU4FDVSJUZͱ͍͏ߟ͑ํ ։ൃऀ ηΩϡϦςΟ ܥͷཧ෦ ίʔϙϨʔτ*5 ෦ ӡ༻ऀ ηΩϡϦςΟ
ݚڀऀ ࠪ ΝʔϜ $*40 ͦͷଞܦӦ ߈ܸऀ ൜ࡑ৫ ࠃՈ ใηΩϡϦςΟʹ ༷ʑͳΞΫλʔ͕ଘࡏ ηΩϡϦςΟ ϕϯμ ڭҭऀ ඪ४Խஂମ TIJGUKTJOGP %FWFMPQFS'JSTU4FDVSJUZͱ͍͏ߟ͑ํ ͜Ε·Ͱ͕ࣗ ͖߹͖ͬͯͨ͜ͱ -
TIJGUKTJOGP %FWFMPQFS'JSTU4FDVSJUZͱ͍͏ߟ͑ํ ։ൃऀ ηΩϡϦςΟ ܥͷཧ෦ ίʔϙϨʔτ*5 ෦ ӡ༻ऀ ηΩϡϦςΟ
ݚڀऀ ࠪ ΝʔϜ $*40 ͦͷଞܦӦ ߈ܸऀ ൜ࡑ৫ ࠃՈ ใηΩϡϦςΟʹ ༷ʑͳΞΫλʔ͕ଘࡏ ηΩϡϦςΟ ϕϯμ ڭҭऀ ඪ४Խஂମ ͜Ε·Ͱ͕ࣗ ͖߹͖ͬͯͨ͜ͱ -
TIJGUKTJOGP %FWFMPQFS'JSTU4FDVSJUZͱ͍͏ߟ͑ํ ίʔϙϨʔτ*5 ෦ ηΩϡϦςΟ ܥͷཧ෦ ใηΩϡϦςΟʹ ༷ʑͳΞΫλʔ͕ଘࡏ ։ൃऀ
ӡ༻ऀ ηΩϡϦςΟ ݚڀऀ ࠪ ΝʔϜ ඪ४Խஂମ ઃܭऀ $*40 ͦͷଞܦӦ ߈ܸऀ ൜ࡑ৫ ࠃՈ γϑτϨϑτΛਪ͠ਐΊΔͱ ࠨͷ΄͏ʹ͍Δઃܭɾ։ൃऀʹ͍͍ۙͮͯ͘ ηΩϡϦςΟ ϕϯμ ڭҭऀ ܦݧΛܦͯಘͨ খ͞ͳؾ͖ -
TIJGUKTJOGP %FWFMPQFS'JSTU4FDVSJUZͱ͍͏ߟ͑ํ ίʔϙϨʔτ*5 ෦ ηΩϡϦςΟ ܥͷཧ෦ ใηΩϡϦςΟʹ ༷ʑͳΞΫλʔ͕ଘࡏ ։ൃऀ
ӡ༻ऀ ηΩϡϦςΟ ݚڀऀ ࠪ ΝʔϜ ඪ४Խஂମ ઃܭऀ $*40 ͦͷଞܦӦ ߈ܸऀ ൜ࡑ৫ ࠃՈ γϑτϨϑτΛਪ͠ਐΊΔͱ ࠨͷ΄͏ʹ͍Δઃܭɾ։ൃऀʹ͍͍ۙͮͯ͘ ʜ͕ɺΒ͘ʮΈΜͳͨΓલʹ͏ͷʯੜ·Εͯ͜ͳ͔ͬͨ ηΩϡϦςΟ ϕϯμ ڭҭऀ ܦݧΛܦͯಘͨ খ͞ͳؾ͖ -
TIJGUKTJOGP %FWFMPQFS'JSTU4FDVSJUZͱ͍͏ߟ͑ํ ‣ ։ൃऀͷ׆ಈݍʹͱ͚͜ΜͰ͍͘ ‣ ։ൃऀͷٕज़ελοΫʹͱ͚͜ΜͰ͍͘ ‣ ։ൃऀͷखݩʹͱ͚͜ΜͰ͍͘ ༂ਐΛ͛Δ൴Βʹڞ௨͢Δͷ
ҎԼͷΑ͏ͳ%FWFMPQFS'JSTUͳߟ͑ํ 1 2 3 ϙΠϯτ -
TIJGUKTJOGP %FWFMPQFS'JSTU4FDVSJUZͱ͍͏ߟ͑ํ ‣ ΫϥυωΠςΟϒٕज़पลۙΓ্͕ΓΛݟ͍ͤͯΔ ‣ ͜ͷΑ͏ͳٕज़ಛ༗ͷ՝ͷղܾɺ͜ͷΑ͏ͳٕज़ελοΫͷ্͔ͩΒͦ͜Մ ೳͱͳΔηΩϡϦςΟϓϥΫςΟεͷ࣮ݱͷͨΊʹɺଟ͘ͷϓϨΠϠʔ͕ࢀೖத ΫϥυωΠςΟϒٕज़ͱͷ༥ IUUQTXXXQBMPBMUPOFUXPSLTDPN
QSJTNBDMPVE IUUQTXXX[TDBMFSDPNQSPEVDUT [TDBMFSDMPVEQSPUFDUJPO IUUQTPSDBTFDVSJUZ IUUQTXXXBRVBTFDDPN ;TDBMFS $MPVE1SPUFDUJPO 1SJTNB$MPVE "RVB4FDVSJUZ 0SDB4FDVSJUZ -
TIJGUKTJOGP %FWFMPQFS'JSTU4FDVSJUZͱ͍͏ߟ͑ํ ։ൃऀ ηΩϡϦςΟ ܥͷཧ෦ ίʔϙϨʔτ*5 ෦ ӡ༻ऀ ηΩϡϦςΟ
ݚڀऀ ࠪ ΝʔϜ ඪ४Խஂମ ઃܭऀ $*40 ͦͷଞܦӦ ߈ܸऀ ൜ࡑ৫ ࠃՈ %FW0QT͜ͷΞΫλʔؒͷ ༥ͷͨΊͷϓϥΫςΟε ใηΩϡϦςΟʹ ༷ʑͳΞΫλʔ͕ଘࡏ ηΩϡϦςΟ ϕϯμ ڭҭऀ -
TIJGUKTJOGP %FWFMPQFS'JSTU4FDVSJUZͱ͍͏ߟ͑ํ ‣ %FW0QTͷՃ0QTʢӡ༻νʔϜʣͷऔΓѻ͍ͬͯͨͷ͕ιϑτΣΞత ʹऔΓѻ͑ΔΑ͏ʹͳͬͨ͜ͱɺͱΓΘ͚ίʔυͰදݱՄೳͳͷʹมԽͨ͜͠ ͱʹେ͖͘ࢧ͑ΒΕ͍ͯΔͱ͍ͬͯաݴͰͳ͍ɻ %FW0QTͷਐԽΛࢧٕ͑ͨज़ resource "google_container_cluster"
"challenge_cluster" { name = "challenges" location = "asia-northeast1" initial_node_count = 1 cluster_autoscaling { enabled = true resource_limits { resource_type = "cpu" minimum = 3 maximum = 32 } resource_limits { resource_type = "memory" minimum = 3 maximum = 32 } } ... -
TIJGUKTJOGP %FWFMPQFS'JSTU4FDVSJUZͱ͍͏ߟ͑ํ ։ൃऀ ηΩϡϦςΟ ܥͷཧ෦ ίʔϙϨʔτ*5 ෦ ӡ༻ऀ ηΩϡϦςΟ
ݚڀऀ ࠪ ΝʔϜ $*40 ͦͷଞܦӦ ߈ܸऀ ൜ࡑ৫ ࠃՈ ใηΩϡϦςΟʹ ༷ʑͳΞΫλʔ͕ଘࡏ ηΩϡϦςΟ ϕϯμ ڭҭऀ %FW4FD0QT ͜ͷลͷ༥ͷͨΊͷϓϥΫςΟε ඪ४Խஂମ -
TIJGUKTJOGP %FWFMPQFS'JSTU4FDVSJUZͱ͍͏ߟ͑ํ ‣ %FW0QTͷՃ0QTʢӡ༻νʔϜʣͷऔΓѻ͍ͬͯͨͷ͕ιϑτΣΞతʹ औΓѻ͑ΔΑ͏ʹͳͬͨ͜ͱɺͱΓΘ͚ίʔυͰදݱՄೳͳͷʹมԽͨ͜͠ͱ ʹେ͖͘ࢧ͑ΒΕ͍ͯΔͱ͍ͬͯաݴͰͳ͍ɻ %FW0QTͷਐԽΛࢧٕ͑ͨज़ resource "google_container_cluster"
"challenge_cluster" { name = "challenges" location = "asia-northeast1" initial_node_count = 1 cluster_autoscaling { enabled = true resource_limits { resource_type = "cpu" minimum = 3 maximum = 32 } resource_limits { resource_type = "memory" minimum = 3 maximum = 32 } } ... -
TIJGUKTJOGP %FWFMPQFS'JSTU4FDVSJUZͱ͍͏ߟ͑ํ ‣ 4FDʢηΩϡϦςΟνʔϜʣͷऔΓѻ͍ͬͯͨͷ͕ιϑτΣΞతʹऔΓѻ͑ ΔΑ͏ʹͳΔͱ͖ɺ͜ͱίʔυͰදݱՄೳͳͷʹมԽͨ͠ͱ͖ʹɺΑΓ %FW0QTͱ4FDͱͷ༥͕ਐΈ͘͢ͳΔͱ͍͏ྨਪ͕Ͱ͖Δ ‣ ։ൃνʔϜͱηΩϡϦςΟνʔϜͱͷڠಇͷͨΊͷഔମͱͯ͠ίʔυΛհ͢Δ 1PMJDZBT$PEFͱΑΔΞϓϩʔνΛਪਐ͢ΔϓϩμΫτ૿͑ͭͭ͋Δ
%FW4FD0QTΛࢧ͑ͭͭ͋Δٕज़ IUUQTBQPMJDZJP IUUQTDZSBMDPN "QPMJDZ $ZSBM -
TIJGUKTJOGP %FWFMPQFS'JSTU4FDVSJUZͱ͍͏ߟ͑ํ 1PMJDZBT$PEF ϙϦγʔͷΠϝʔδ ٕज़తରʹؔ͢ΔϙϦγʔΛίʔυͱͯ͠දݱ͢Δख๏ version: '1' rules: -
id: 'unencrypted-ebs-volume' language: hcl message: | There was unencrypted EBS module. pattern: | resource "aws_ebs_volume" :[NAME] { :[...X] } constraints: - target: X should: not-match pattern: | encrypted = true rewrite: | resource "aws_ebs_volume" :[NAME] { :[X] encrypted = true } -
TIJGUKTJOGP %FWFMPQFS'JSTU4FDVSJUZͱ͍͏ߟ͑ํ 0QFO1PMJDZ"HFOU IUUQTXXXPQFOQPMJDZBHFOUPSHEPDTWΑΓҾ༻ ‣ ൚༻ੑͷߴ͍ϙϦγʔΤϯδϯ ‣ 3FHPͱ͍͏%4-ΑΓʹهड़͞ΕͨϙϦ γʔΛݩʹɺ͋Δใʢ2VFSZʣ͕ϙϦγʔʹ
ରͯ͠Ϛον͢Δ͔ͷஅʢ%FDJTJPOʣΛߦ͏ ͜ͱ͕Ͱ͖Δ ‣ அͷͨΊͷϩδοΫͱஅ݁Ռʹґଘ͢Δ ϩδοΫ͕͞ΕΔʢ1PMJDZ%FDPVQMJOHʣ ‣ ར༻ྫ ‣ (BUFLFFQFS,VCFSOFUFTϫʔΫϩʔυͷอޢ ͷͨΊͷΈ ‣ $POGUFTU,VCFSOFUFTϚχϑΣετͷςετ ͷͨΊͷπʔϧ -
TIJGUKTJOGP %FWFMPQFS'JSTU4FDVSJUZͱ͍͏ߟ͑ํ (BUFLFFQFS 0QFO1PMJDZ"HFOUΛݩʹͨ͠γεςϜ package deny_host_network violation[{"msg": msg, "details":
{}}]{ input.review.object.spec.hostNetwork msg := sprintf("hostNetwork is prohibited", []) } apiVersion: v1 kind: Pod metadata: name: example labels: app: example spec: hostNetwork: true containers: - name: nginx image: nginx ports: - containerPort: 9001 hostPort: 9001 3FHPͰهड़͞ΕͨϙϦγʔ ϙϦγʔʹै͏͖,VCFSOFUFT.BOJGFTU $ kubectl apply ...ࣦഊ͢Δɻ ະવʹϙϦγʔʹԊΘͳ͍Ϧιʔεͷ ࡞Λ͙͜ͱ͕Ͱ͖Δ😌 -
TIJGUKTJOGP %FWFMPQFS'JSTU4FDVSJUZͱ͍͏ߟ͑ํ (BUFLFFQFS 0QFO1PMJDZ"HFOUΛݩʹͨ͠γεςϜ package deny_host_network violation[{"msg": msg, "details":
{}}]{ input.review.object.spec.hostNetwork msg := sprintf("hostNetwork is prohibited", []) } apiVersion: v1 kind: Pod metadata: name: example labels: app: example spec: hostNetwork: true containers: - name: nginx image: nginx ports: - containerPort: 9001 hostPort: 9001 3FHPͰهड़͞ΕͨϙϦγʔ ϙϦγʔʹै͏͖,VCFSOFUFT.BOJGFTU $ kubectl apply ...ࣦഊ͢Δɻ ະવʹϙϦγʔʹԊΘͳ͍Ϧιʔεͷ ࡞Λ͙͜ͱ͕Ͱ͖Δ😌 ϙϦγʔʹҧͨ͠هड़͕͋Δ -
TIJGUKTJOGP %FWFMPQFS'JSTU4FDVSJUZͱ͍͏ߟ͑ํ (BUFLFFQFS 0QFO1PMJDZ"HFOUΛݩʹͨ͠γεςϜ package deny_host_network violation[{"msg": msg, "details":
{}}]{ input.review.object.spec.hostNetwork msg := sprintf("hostNetwork is prohibited", []) } apiVersion: v1 kind: Pod metadata: name: example labels: app: example spec: hostNetwork: true containers: - name: nginx image: nginx ports: - containerPort: 9001 hostPort: 9001 3FHPͰهड़͞ΕͨϙϦγʔ ϙϦγʔʹै͏͖,VCFSOFUFT.BOJGFTU $ kubectl apply ...ࣦഊ͢Δɻ ະવʹϙϦγʔʹԊΘͳ͍Ϧιʔεͷ ࡞Λ͙͜ͱ͕Ͱ͖Δ😌 -
TIJGUKTJOGP %FWFMPQFS'JSTU4FDVSJUZͱ͍͏ߟ͑ํ ‣ )BTIJ$PSQ4FOUJOFM1PMJDZBT$PEFͷརΛҎԼͷΑ͏ʹཧ͍ͯ͠Δ IUUQTEPDTIBTIJDPSQDPNTFOUJOFMDPODFQUTQPMJDZBTDPEF ‣ 4BOECPYJOHڥͷΨʔυϨʔϧͱͯ͠ϙϦγʔ͕ར༻Ͱ͖ΔΑ͏ʹͳΔ ‣
$PEJpDBUJPOίʔυԽ͞ΕΔ͜ͱͰϙϦγʔ͕໌֬ʹͳΔ ‣ 7FSTJPO$POUSPMόʔδϣϯཧͷରʹͳΔ ‣ 5FTUJOHϙϦγʔʹهड़͞Ε͍ͯΔ͜ͱςετՄೳͳରʹͳΔ ‣ "VUPNBUJPOࣗಈԽπʔϧͰऔΓѻ͑ΔରʹͳΔ ‣ 1PMJDZBT$PEFʮηΩϡϦςΟνʔϜͷݟࣄΛදݱ͢ΔͨΊͷํ๏ʯ Ͱ͋ΓɺʮηΩϡϦςΟͱ͍͏ࣄͷରԽʯͰ͋Δ 1PMJDZBT$PEF͕ͨΒ͢ͷ -
TIJGUKTJOGP %FWFMPQFS'JSTU4FDVSJUZͱ͍͏ߟ͑ํ ‣ ։ൃऀͷ׆ಈݍʹͱ͚͜ΜͰ͍͘ ‣ ։ൃऀͷٕज़ελοΫʹͱ͚͜ΜͰ͍͘ ‣ ։ൃऀͷखݩʹͱ͚͜ΜͰ͍͘ ༂ਐΛ͛Δ൴Βʹڞ௨͢Δͷ
ҎԼͷΑ͏ͳ%FWFMPQFS'JSTUͳߟ͑ํ 1 2 3 ৼΓฦΓ -
TIJGUKTJOGP %FWFMPQFS'JSTU4FDVSJUZͱ͍͏ߟ͑ํ ‣ %FW4FD0QTγϑτϨϑτΛਪਐ͢Δจ຺ͷதʹ͓͍ͯɺηΩϡϦςΟઐՈ ʹٻΊΒΕΔߦಈɺগͣͭ͠ม༰͖ͯͨ͠ͷͩͱࢥ͏ ‣ ͜ΕΒͷߦಈࠓͰ୭͕ͨΓલʹ࣮ફͰ͖͍ͯΔΘ͚Ͱͳ͍ ‣ ͜Ε%FW0QT͕͔ͭͯͨΓલͰͳ͔ͬͨͷͱಉ͜͡ͱ
‣ ઌड़ͷΑ͏ʹ4FD%FW0QTΛ༥͢ΔͨΊͷςΫϊϩδͷෆͳͲ͕ҰҼ ηΩϡϦςΟઐՈzͷظͷมԽ ઐՈͱͯ͠܅ྟ͢Δ ։ൃऀͷԕ͘Ͱಇ͘ ࣝΛϓϩμΫτͷܗͰຽओԽ͢Δ ։ൃऀͱڠಇ͢Δ ։ൃऀͱҧ͏ࣄΛ͢Δ ։ൃऀͱಉ͡ରΛѻ͏ ηΩϡϦςΟͷਓ ηΩϡϦςΟΛ ΤϯδχΞϦϯά͢Δਓ -
TIJGUKTJOGP %FWFMPQFS'JSTU4FDVSJUZͱ͍͏ߟ͑ํ XIPBNJ ৄࡉIUUQTTIJGUKTJOGPʹ͋Γ·͢ ‣ ถوࢤ :0/&6$)* 5BLBTIJ
‣ ւಓ۴࿏ࢢग़ ‣ גࣜձࣾ'MBUU4FDVSJUZࣥߦһ$50 ‣ ʮ։ൃऀͷͨΊͷɺ։ൃऀʹدΓఴͬͨηΩϡ ϦςΟʯΛୈҰٛͱͯ͠ಇ͍͍ͯ·͢ ‣ ੈͷதͷʢಛʹΠϯϋεͷʣϓϩμΫτνʔ Ϝ͕҆৺ͯ͠ಇ͚ΔੈքΛ࡞Γ͍ͨͰ͢ ‣ ஶॻͳͲ ‣ ʰ8FCϒϥβηΩϡϦςΟʱ ‣ ʰৄղηΩϡϦςΟίϯςετʱ -
TIJGUKTJOGP %FWFMPQFS'JSTU4FDVSJUZͱ͍͏ߟ͑ํ XIPBNJ ৄࡉIUUQTTIJGUKTJOGPʹ͋Γ·͢ ‣ ถوࢤ :0/&6$)* 5BLBTIJ
‣ ւಓ۴࿏ࢢग़ ‣ גࣜձࣾ'MBUU4FDVSJUZࣥߦһ$50 ‣ ʮ։ൃऀͷͨΊͷɺ։ൃऀʹدΓఴͬͨηΩϡ ϦςΟʯΛୈҰٛͱͯ͠ಇ͍͍ͯ·͢ ‣ ੈͷதͷʢಛʹΠϯϋεͷʣϓϩμΫτνʔ Ϝ͕҆৺ͯ͠ಇ͚ΔੈքΛ࡞Γ͍ͨͰ͢ ‣ ஶॻͳͲ ‣ ʰ8FCϒϥβηΩϡϦςΟʱ ‣ ʰৄղηΩϡϦςΟίϯςετʱ ηΩϡϦςΟͷྗͰ৴པΛͭͳ͛ɺ ΫϦΤΠςΟϒͳࣾձΛ࣮ݱ͢Δɻ CYBER SECURITY PROVIDING ALL SOCIETY TRUST and UNLIMITED CREATIVITY 8FSF)JSJOH -
TIJGUKTJOGP %FWFMPQFS'JSTU4FDVSJUZͱ͍͏ߟ͑ํ ‣ ։ൃऀͷ׆ಈݍʹͱ͚͜ΜͰ͍͘4FDVSJUZ ‣ ։ൃऀͷٕज़ελοΫʹͱ͚͜ΜͰ͍͘4FDVSJUZ ‣ ։ൃऀͷखݩʹͱ͚͜ΜͰ͍͘4FDVSJUZ 1 2
3 ,FZ5BLFBXBZ %FWFMPQFS'JSTU4FDVSJUZͱ͍͏ߟ͑ํ-0$"-%FWFMPQFS%BZ0OMJOF`4FDVSJUZ %FWFMPQFS'JSTU4FDVSJUZͱ