클라우드 컴퓨팅 & 클라우드 보안

24
클라우드 컴퓨팅 & 클라우드 보안 성공회대학교 소프트웨어공학과 201632034 한영빈 [email protected]

Upload: youngbin-han

Post on 22-Jan-2017

180 views

Category:

Internet


1 download

TRANSCRIPT

Page 1: 클라우드 컴퓨팅 & 클라우드 보안

클라우드 컴퓨팅&클라우드 보안성공회대학교 소프트웨어공학과 201632034 한영빈[email protected]

Page 2: 클라우드 컴퓨팅 & 클라우드 보안

Index 1. 클라우드 컴퓨팅이란?2. 클라우드 보안이란?

Page 3: 클라우드 컴퓨팅 & 클라우드 보안

클라우드 컴퓨팅 ➔그래서 이게 뭐임?➔클라우드 컴퓨팅의 유형➔장점과 단점

Page 4: 클라우드 컴퓨팅 & 클라우드 보안

http://www.zdnet.co.kr/news/news_view.asp?artice_id=20130610090358

Page 5: 클라우드 컴퓨팅 & 클라우드 보안

그래서 이게 뭐임?➔인터넷을 기반으로 하는 컴퓨팅 기술➔서버에 필요한 프로그램이나 서비스 등을 두고, 언제든지 휴대전화, 컴퓨터 등으로 인터넷 연결을 통해 불러와서 사용하는 서비스.➔보통 사용한 만큼 지불하는 종량제 형태로 제공됨.

Page 6: 클라우드 컴퓨팅 & 클라우드 보안

https://commons.wikimedia.org/w/index.php?curid=20630522

Page 7: 클라우드 컴퓨팅 & 클라우드 보안

클라우드 컴퓨팅의 유형

IaaS유연성과 유지보수 부담이 큼 유연성과 유지보수 부담이 작음

PaaS BaaS SaaS

Page 8: 클라우드 컴퓨팅 & 클라우드 보안

서비스로서의 인프라(IaaS, Infrastructure as a Service)➔일반적으로 네트워킹 기능, 컴퓨터(VM 또는 전용 하드웨어), 스토리지 등의 인프라를 서비스로 제공함.➔다른 유형의 클라우드 컴퓨팅에 비해 유연성이 매우 좋으나, 그만큼 유지 보수 부담도 큼.➔AWS EC2, Microsoft Azure, Digital Ocean, Google Compute Engine 등을 예로 들 수 있음.

Page 9: 클라우드 컴퓨팅 & 클라우드 보안

서비스로서의 플랫폼(PaaS, Platform as a Service)➔개발에 필요한 위한 안정적인 기반을 서비스로 제공하는 방식➔공급자가 인프라까지 관리 해 주기 때문에, 유지 보수에 대한 부담이 적음. ➔대신, IaaS 에 비해 유연성이 낮음.➔Heroku, Google App Engine 등을 예로 들 수 있음.

Page 10: 클라우드 컴퓨팅 & 클라우드 보안

서비스로서의 백엔드(BaaS, Backend as a Service)➔백엔드 개발시, 자주 구현하는 기능들(로그인, 읽기, 쓰기, 결제, 푸시알림, SNS 연동 등)을 미리 구현하여 서비스로 제공하는 방식.➔이미 개발된 백엔드를 사용하는 것 이므로, 백엔드를 따로 구현할 필요 없이 클라이언트 개발에 집중할 수 있음.➔간단히 시험 버전을 개발하거나, 짧은 시간 안에 서비스를 개발 해야 할 때 유용함.➔당연하게도, 백엔드 개발까지 공급자 몫이므로 유연성이 PaaS 보다 낮음.➔baas.io, Parse, Firebase 등을 예로 들 수 있음.

Page 11: 클라우드 컴퓨팅 & 클라우드 보안

서비스로서의 소프트웨어(SaaS, Software as a Service)➔최종 사용자에게 완성된 소프트웨어를 서비스로 제공하는 방식.➔사용자는 해당 소프트웨어를 사용하는 방법만 알면 됨.➔각종 Google 서비스(Drive, Maps, Gmail…), 아마존 쇼핑 등을 예로 들 수 있음.

Page 12: 클라우드 컴퓨팅 & 클라우드 보안

장점?➔초기 투자 비용이 거의 없음➔하드웨어 유지보수에 시간을 투자할 필요가 없음➔사용한 만큼만 비용을 지불함 - 하드웨어를 직접 관리하는 경우보다 비용이 저렴함➔확장성이 좋음

◆ 언제든지 사양을 조절 할 수 있고, 간단하게 다른 국가나 지역에 서버를 둘 수 있음.

Page 13: 클라우드 컴퓨팅 & 클라우드 보안

단점?➔클라우드 컴퓨팅 제공 업체로 인한 데이터가 소실 또는 유출될 수 있음

◆ 민감한 데이터를 보관하기에는 부적합함.◆ 예시 : 업체가 부도가 나는경우, 천제지변으로 데이터가 소실되는 경우, 데이터가 수사기관에 제공되는 경우 등.

➔네트워크 연결이 항상 필요함◆ 네트워크가 열약한 환경에서는 부적합함.◆ 네트워크를 통해 대용량 파일의 전송이 매우 잦은 경우 오히려 비용이 더 많이 듬.

Page 14: 클라우드 컴퓨팅 & 클라우드 보안

클라우드 보안 ➔그래서 이건 또 뭐임?➔왜 함?➔클라우드 보안이슈 및 대처법

Page 15: 클라우드 컴퓨팅 & 클라우드 보안

그래서 이건 또 뭐임?클라우드에서 작동하고 있는 앱이나, 클라우드에 보관된 데이터를 보호하기 위해 사용되는 기술, 제어, 정책들

Page 16: 클라우드 컴퓨팅 & 클라우드 보안

왜 함?안 뚫리려고, 뚫리면 망하니까.

Page 17: 클라우드 컴퓨팅 & 클라우드 보안

클라우드 보안이슈 및 대처법➔데이터 유출 / 유실➔불충분한 신원, 인증, 접근 관리➔안전하지 않은 API 구현➔계정 탈취➔서비스 거부

Page 18: 클라우드 컴퓨팅 & 클라우드 보안

데이터 유출(Data Breach), 데이터 소실(Data Loss)➔인증되지 않은 사람에 의해 데이터를 도난 당하거나 소실 당하는 것.➔사용자 또는 공급 업체의 실수나 부주의가 원인이 되기도 함.➔클라우드 컴퓨팅 도입 시, 잘 알려진 공급자 이용. 공급자의 서버 위치도 고려.➔데이터 암호화, 주기적인 백업 등을 통해 예방 가능.

Page 19: 클라우드 컴퓨팅 & 클라우드 보안

불충분한 신원, 자격증명, 접근 관리➔인증 키 등을 소흘히 관리하는 것이 원인. 데이터 유출의 원인이 되기도 함.➔키를 별도로 관리하는 KMS(Key Management Service)를 이용하여, 키 유출 가능.➔소스코드 내에 키를 삽입하면 안됨.➔공개 저장소에 소스코드 업로드 시, 키를 포함해서는 안됨.

Page 20: 클라우드 컴퓨팅 & 클라우드 보안

안전하지 않은 API 구현➔오늘날 클라이언트와 서버 간에 통신 할 때, 많이 사용하는 방식.➔공급자가 사용자에게 클라우드 컴퓨팅 서비스를 사용하도록 하기 위해 제공.➔주로, 개발자나 사용자가 API 키를 노출하는 것이 문제점으로 작용.➔공급자 : 네트워크 레벨 암호화(HTTPS), OAuth, API Key, JWT(JSON Web Token)➔개발자, 사용자 : 키 유출 되지 않도록 주의

Page 21: 클라우드 컴퓨팅 & 클라우드 보안

계정 탈취➔시스템 취약점을 남용하거나, 피싱, 사기 등을 통해 계정을 탈취 하는것.➔웹 서비스 계정의 경우…

◆ 적절한 비밀번호 관리, 주기적인 비밀번호 변경, OTP사용➔서버 원격 접속(SSH, Telnet 등)에 사용되는 계정의 경우...

◆ 시스템 관리자 계정(root 등) 대신, 필요할 때만 관리자 권한 이용 가능한 별도 계정 사용◆ 원격 접속에 사용하는 포트(SSH : 22, Telnet : 23) 는 필요할 때만 열거나, 다른 포트 사용◆ 비밀번호 보다는 키 파일 사용

Page 22: 클라우드 컴퓨팅 & 클라우드 보안

서비스 거부(Denial of Service)➔악의적인 목적으로 시스템을 공격하여, 시스템 자원이 바닥나게 하고, 이로 인해 다른 사용자가 서비스를 사용 할 수 없게 하는 것.➔DoS 방어 기능이 있는 DNS(예 : Cloudflare)나, 방화벽 서비스(예 : AWS WAF) 사용➔ Auto Scailing 을 사용하여, DoS 공격 받아도 자동으로 자원을 확장하여 공격을 완화할 수 있음.

Page 24: 클라우드 컴퓨팅 & 클라우드 보안

감사합니다.